docs/src/dav-sync.1.md

Thu, 30 May 2019 18:23:39 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 30 May 2019 18:23:39 +0200
changeset 603
8e7e072c18c1
parent 563
3dffe58a573f
child 703
2e3a24b9896a
permissions
-rw-r--r--

fix that db entries are updated on errors

% DAV-SYNC(1) Version 1.2 | DavUtils User Manuals
% Olaf Wintermann
% July 1, 2018

# 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 [**-cldr**] [**-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 [**-cld**] [**-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.

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.

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/>.

mercurial