Wed, 24 Jul 2024 23:45:31 +0200
fix dav add-repo crash in case .dav/config.xml doesn't exist
% DAV-SYNC(1) Version 1.3 | DavUtils User Manuals % Olaf Wintermann % December 15, 2019 # NAME **dav-sync** - synchronize a local directory with a WebDAV collection. # SYNOPSIS **dav-sync** *command* [*options*] *arguments*... # DESCRIPTION TODO # COMMANDS pull [**-cldr**] [**-t** *tags*] *directory* : Pulls all changes from the server. All new or modified files are downloaded and all files deleted on the server are deleted locally. If a file is also locally modified and conflict detection is not disabled, the local file is renamed and an entry in the conflict database is added. push [**-cldrSRM**] [**-t** *tags*] *directory* : Pushes all local changes to the server. This uploads all locally modified files and deletes all locally deleted files on the server. If conflict detection is not disabled, all files that are also modified on the server will be skipped. archive [**-cldSRM**] [**-t** *tags*] *directory* : Uploads all new and modified files to the server. The command is similar to the push command (with the same conflict behavior), however it does not delete files on the server. restore [**-ldRM**] [**-V** *version] [**-s** *directory*] [*file...*] : Restores local files by downloading them from the server. The *file* argument can be a local absolute or relative file path. list-conflicts [**-v**] *directory* : Lists all conflicting files. If verbose output is enabled, the output also shows the number of entries for the same conflicting file. resolve-conflicts *directory* : Forcefully clears the conflict database. This does not merge any files. All files which are marked as conflict are normal files after running this command. In other words: by executing this command you assert that **you** have resolved the conflicts. Usually you will never need this command. delete-conflicts *directory* : Deletes all files that are marked as a conflict. This will always delete the files and does not move them to the trash directory. Use this command with caution. trash-info *directory* : Shows the trash directory path for a *directory*, the number of files currently in the trash and the space they consume. list-versions [**-s** *syncdir*] *file* : Lists all available file versions. empty-trash *directory* : Removes all files from the trash of the given *directory*. add-tag [**-s** *syncdir*] *file* *tag* : Adds a *tag* to a SyncDirectory *file*. The *file* argument must denote a local file path. remove-tag [**-s** *syncdir*] *file* *tag* : Removes a *tag* from a SyncDirectory *file*. See **add-tag**. set-tags [**-s** *syncdir*] *file* *tags* : Sets the list of *tags* for a SyncDirectory *file*. This command behaves, as if you would remove all tags with **remove-tag** and add the *tags* with **add-tag**. list-tags [**-s** *syncdir*] *file* : List all tags for the specified *file*. # CONFIGURATION COMMANDS add-directory : Runs an interactive assistant to create a SyncDirectory. list-directories : Lists all available SyncDirectories. check-config : Validates the **$HOME/.dav/sync.xml** configuration file. check-repositories : Checks if every repository used by sync-directories is configured and available. This command outputs the status for each repository. It returns zero when all repositories are all available and non-zero otherwise. # GENERAL OPTIONS The following options can be used with all commands. -v : Verbose output. # COMMAND OPTIONS -c : Disable conflict detection. -d : Don't lock the repository. -l : Lock the repository before access. -s *syncdir* : If multiple SyncDirectories contain a local file, this option must be used to resolve the ambiguity. -t *tags* : Only sync files which have the specified tags. -r : Remove ressources not matching the tag filter. # SEE ALSO `dav` (1). DavUtils full documentation: <https://davutils.sourceforge.io/>.