diff -r 2e3a24b9896a -r 8b88efcbf56f docs/html/sync-configuration.html --- a/docs/html/sync-configuration.html Sun Dec 15 16:54:05 2019 +0100 +++ b/docs/html/sync-configuration.html Sun Dec 15 17:00:46 2019 +0100 @@ -1,12 +1,20 @@ - - + + - - + + Configuration - - + + +
@@ -26,6 +34,7 @@
  • remove
  • copy
  • move
  • +
  • rename
  • export
  • import
  • get-property
  • @@ -35,9 +44,19 @@
  • unlock
  • info
  • date
  • +
  • versioncontrol
  • +
  • list-versions
  • +
  • checkout
  • +
  • checkin
  • +
  • uncheckout
  • add-repository
  • remove-repository
  • list-repositories
  • +
  • repository-url
  • +
  • add-user
  • +
  • remove-user
  • +
  • edit-user
  • +
  • list-users
  • check-config
  • Configuration
  • @@ -53,11 +72,13 @@
  • pull
  • push
  • archive
  • -
  • list-conflicts
  • +
  • restore
  • +
  • list-conflicts
  • resolve-conflicts
  • delete-conflicts
  • trash-info
  • empty-trash
  • +
  • list-versions
  • add-tag
  • remove-tag
  • set-tags
  • @@ -74,15 +95,15 @@
    - +

    The file $HOME/.dav/sync.xml is used for configuring sync-directories.

    The sync.xml file is an XML file with <configuration> as root element. This element can only have <directory> elements as children.

    directory

    This element configures a sync-directory. A sync-directory must have a unique name, a (local) path, repository and a database.

    Required elements: <name>, <repository>, <path>, <database>
    -Optional elements: <collection>, <trash>, <max-retry>, <backup-on-pull>, <lock-pull>, <lock-push>, <lock-timeout>, <filter>

    +Optional elements: <collection>, <trash>, <max-retry>, <backup-on-pull>, <lock-pull>, <lock-push>, <lock-timeout>, <filter>, <metadata>, <versioning>, <splitconfig>, <symlink-intern>, <symlink-extern>, <tagconfig>, <allow-cmd>

    name

    Unique sync-directory identifer. This identifer is used in combination with all dav-sync commands.

    Type: string
    @@ -106,10 +127,19 @@

    Type: string
    Default: /
    Example: <collection>/myfiles</collection>

    +

    hashing

    +

    Enables file hashing. The hash will be used for checking if files are modified and should be synchronized.

    +

    Type: boolean
    +Default: false
    +Example: <hashing>true</hashing>

    trash

    Path to the trash directory for this sync-directory. Files that should be deleted will be moved to this directory. The value must be an absolute path or relative to the sync-directory path.

    Type: string
    Example: <trash>.trash</trash>

    +

    push-strategy

    +

    Controls the strategy push uses for deciding which files should be pushed. Possible values are: metadata and hash.

    +

    Type: pushstrategy enum
    +Default: metadata Example: <push-strategy>hash</push-strategy>

    max-retry

    This integer value controls how many attempts of downloading/uploading a file in case of an error are made.

    Type: integer
    @@ -131,10 +161,37 @@ Default: false
    Example: <lock-push>true</lock-push>

    lock-timeout

    -

    Specifies the lock timeout in seconds. If the lock-timeout is 0, the client doesn't request a specific timeout and the server's default value is used. If the lock-timeout is -1, a infinite timeout is requested.

    +

    Specifies the lock timeout in seconds. If the lock-timeout is 0, the client doesn’t request a specific timeout and the server’s default value is used. If the lock-timeout is -1, a infinite timeout is requested.

    Type: integer
    Default: 0
    Example: <lock-timeout>50</lock-timeout>

    +

    metadata

    +

    Controls which file metadata should be synchronized. Possible values are: mtime, mode, xattr and all. If this element is not specified, no metadata will be synchronized.

    +

    Type: list of metadata
    +Example: <metadata>mtime mode</metadata>

    +

    versioning

    +

    Enables resource versioning for the commands push and archive.

    +

    Possible attributes: type, always

    +

    The attribute type sets the versioning method type. Possible values are simple and deltav. With simple versioning, resources are moved to a version history collection before the new content is uploaded. With deltav, the DeltaV methods checkout and checkin are used to store versions. The default value of the type attribute is simple.

    +

    The boolean attribute always specifies if new versions should be always created. The default value is false.

    +

    Optional elements: <history> Example: <versioning type="simple" always="true" />

    +

    history

    +

    Specifies the history collection path for simple versioning. The path is interpreted relatively to the root of the sync directory.

    +

    Type: string
    +Default: /.dav-version-history Example:

    +
    <versioning type="simple">
    +    <history>/.backup/</history>
    +</versioning>
    + +

    Configures the handling of symlinks, which have a target inside the sync directory. Possible values are: sync, follow and ignore.

    +

    Type: symlink enum
    +Default: follow
    +Example: <symlink-intern>sync</symlink-intern>

    + +

    Configures the handling of symlinks, which have a target outside the sync directory. Possible values are: follow and ignore. Unlike internal symlinks, external symlinks cannot be synced.

    +

    Type: symlink enum
    +Default: follow
    +Example: <symlink-extern>ignore</symlink-extern>

    tagconfig

    Configures the local store for resource tags. If this element is specified, resource tags are stored locally.

    Optional elements: local-store, detect-changes, xattr-name, on-conflict

    @@ -159,6 +216,34 @@

    Type: onconflict enum
    Default: no_conflict
    Example: <on-conflict>merge</on-conflict>

    +

    splitconfig

    +

    Parent element for all <split> elements.

    +

    split

    +

    Configures if and how files should be splitted into multiple parts on push.

    +

    The blocksize element configures the size of each part.

    +

    The elements filter and minsize specify, in which case the files should be splitted.

    +

    Required elements: <blocksize>
    +Optional elements: <filter>, <minsize>

    +

    Example:

    +
    <splitconfig>
    +    <!-- split all files with .vmdk file extension that are bigger than 100mb -->
    +    <split>
    +        <blocksize>10m</blocksize>
    +        <filter>
    +            <include>\.vmdk$</include>
    +        </filter>
    +        <minsize>100m</minsize>
    +    </split>
    +</splitconfig>
    +

    blocksize

    +

    Specifies the size of each file part.

    +

    Type: size
    +Example: <blocksize>100k</blocksize>

    +

    minsize

    +

    Specifies the minimal size a file must have for enabling file splitting.

    +

    Type: size
    +Default: 0
    +Example: <minsize>100m</minsize>

    filter

    With the filter element, include and exclude filters can be specified, to control which files are synchronized. The pull, push and archive command apply these filters to file paths. At first it is checked if a file is matching any include filter. If so only files matching not an exclude filter are further processed.

    It is also possible to filter resources by tags. Tags can dynamically be applied to individual files. The tag filter elements contains a tag filter expression. Only files that match the filter expression are synchronized.