I have a development folder synced, but I donβt want the compilation folders and artifacts to be synchronized, so I created a exclusions file in the root of the share.
The shared folder name is: /home/sergio/Desarrollos
The exclusions file named: .sync-exclude.lst
This is the relevant part of the file:
Folders that always upload are, for example: /home/sergio/Desarrollos/Embedded/esphome-living-display-1/.esphome/build
Whenever I do a compilation, those folders and their contents are fully uploaded.
Iβve tried anything. Closing the client and removing the folders in the server. Removing the logs files and database from the share.
When the client is started again it syncs all the content, including the excluded folders.
Iβve also checked that opening the configuration in the UI and going settings β share β edit exclusions the window that opens has all my entries there.
Is a problem in how I enter the exclusion for a subfolder? (the **). Without that, subfolders and files that had β.β (like file.main.bak) werenβt excluded.
I also tried adding **/.esphome/build/*, but it didnβt work.
Iβm running the latest stable versiΓ³n from the official repo. (33.0.5)
Edit: Iβve added all the combinations I could think of:
I should have been more specific sorry, I meant which version of the client youβre using. this is the official client package β Download and install Nextcloud
The first thing it complains when starting to look at the share from fresh start, is that it finds a folder at the 1st level that it exceeds 500MB in size.
Iβm mentioning it in case itβs possible that after that it becomes βdumbβ and stops applying exclusions.
When I create a folder /home/sergio/Desarrollos/Embedded/esphome-living-display-1/.esphome/build/:
11:26:23||Embedded/esphome-living-display-1/.esphome/build|8|1|1781263581||4096|01260112ocpo0zgiuijt|13|Se produjo un error inesperado. Intente sincronizar de nuevo o contacte con el administrador del servidor si el problema persiste.|201|0|0|adaca361-2c9e-4285-be50-af5657e14f37|
An unexpected error occurred. Please try synchronizing again or contact your server administrator if the problem persists.
The folder gets synced.
Then a create a file inside:
11:26:54||Embedded/esphome-living-display-1/.esphome/build/Archivo de texto.txt|8|1|1781263611|edb2947879ab164a5024f5554f1dd95c|0|01260113ocpo0zgiuijt|13||201|0|0|e1a8b474-6666-4705-b7f8-213173f60b57|
Is there any documentation on the specification of the exclusions? Follows github, glob,β¦?
The desktop client compares only to the name of the element. So FolderA/FolderB does not work because he finds only in FolderB instead of on the complete path.
Test. Exclusions created => effect:
badfolder/ => works .../.esphome/badfolder does not sync.
badfile.txt => works .../.esphome/badfolder/badfile.txt does not sync.
.badfolder/ => works
.badfile.txt => works
.esphome/reallybadfolder/ => DOES NOT WORK -> Syncs
**/.esphome/terrificfolder/ => DOES NOT WORK -> Syncs
esphome-living-display-1/evilfolder/ => DOES NOT WORK -> Syncs
I suppose that Iβm not the only one who has arrived to that conclusion, but I could not find enough info on it.
This should be implemented, because one canβt exclude globally folders like βbuildβ. In this case (ESPHome builds) seems clear that should be excluded, but there are some other platforms where build would exclude code.
Now I have to realize how to get this done.
The problem is that there is not enough documentation about the exclusion, that Iβm still not sure if itβs me that Iβm doing something wrong.
Now Iβm looking at the source code to realize how this works, and I found that this is managed in two ways, depending on presence of trailing slashes, forcing the comparison to be different. Something named βfull path patternβ.
Could be a bug/regression in 33 in csync_exclude.cpp.