The main configuration file for dav is $HOME/.dav/config.xml and is used for configuring repositories, proxies and encryption keys. This configuration is also used by dav-sync. The file is created automaticaly if it doesn't exist.
-
The config.xml file is an XML file with <configuration> as root element. The <configuration> element can have the following child elements: <repository>, <http-proxy>, <https-proxy>, <key>
+
The config.xml file is an XML file with <configuration> as root element. The <configuration> element can have the following child elements: <repository>, <http-proxy>, <https-proxy>, <key>, <namespace>
repository
This element is used to configure a repository. A repository must have a unique name to identify the repository and a url pointing to the root collection for this repository.
Configures an XML-namespace with prefix and uri. The prefix can be used with commands like get-property. The element must have the prefix and the uri attribute.
+
Type: no value Example: <namespace prefix="e" uri="http://example.com/" />
Example 1: minimal repository configuration
A minimal configuration for a repository. If no user and/or password are configured, dav prompts for authentication informations if required.
Lists child resources of the specified collection. Without any option it shows only the direct children and hides files beginning with a dot. The behavior is quite similar to that of the unix tool ls.
Options
-a don't hide files whose names begin with a dot .
@@ -84,6 +86,7 @@
The third column is the date of the last modification. The strftime format is %b %d %H:%M if the year is the current year. Otherwise the format is %b %d %Y.
The last column is the resource name. If the -R option is specified, the resource path is shown.
-t this options only works in combination with -l and it adds the resource content type to the output (after the flags)
+
-d order resources by their lastmodified date
-e similar to -l, but with 6 flag fields. Currently only the first 4 fields are used. The last two are reserved for future use.
If the resource is successfully locked, a lock token for this resource is printed to stdout. This lock token should be saved somewhere to unlock the resource eventually.
-p disable file name and path decryption if enabled
-c enable file name and path decryption
+
-T <seconds> specify the lock token timeout in seconds
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.
With the filter element, include and exclude filters can be specified, to control which files are synchronized. The pull and push 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.
Note: The file path is relative to the directory path (and WebDAV collection) but always starts with an path separator.
diff -r 2433b5969d44 -r 12ed560c926c docs/src/Makefile
--- a/docs/src/Makefile Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/Makefile Tue Oct 03 16:59:39 2017 +0200
@@ -40,6 +40,7 @@
SRC += move.md
SRC += get-property.md
SRC += set-property.md
+SRC += remove-property.md
SRC += lock.md
SRC += unlock.md
SRC += info.md
@@ -53,6 +54,7 @@
SRC += sync-commands.md
SRC += pull.md
SRC += push.md
+SRC += archive.md
SRC += resolve-conflicts.md
SRC += delete-conflicts.md
SRC += trash-info.md
diff -r 2433b5969d44 -r 12ed560c926c docs/src/archive.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/src/archive.md Tue Oct 03 16:59:39 2017 +0200
@@ -0,0 +1,16 @@
+---
+title: 'dav-sync archive'
+---
+
+**`dav-sync archive [-cld] `**
+
+Uploads all new and modified files to the server. The command is similar to the push command, however it does not delete files on the server.
+
+If conflict detection is not disabled, all files that are also modified on the server will be skipped.
+
+**`-c`** Disable conflict detection. This always overwrites files on the server
+
+**`-l`** Lock the repository before accessing it. After `archive` completed, the repository is unlocked
+
+**`-d`** Don't lock the repository (default)
+
diff -r 2433b5969d44 -r 12ed560c926c docs/src/configuration.md
--- a/docs/src/configuration.md Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/configuration.md Tue Oct 03 16:59:39 2017 +0200
@@ -4,7 +4,7 @@
The main configuration file for *dav* is `$HOME/.dav/config.xml` and is used for configuring repositories, proxies and encryption keys. This configuration is also used by *dav-sync*. The file is created automaticaly if it doesn't exist.
-The *config.xml* file is an XML file with `` as root element. The `` element can have the following child elements: ``, ``, ``, ``
+The *config.xml* file is an XML file with `` as root element. The `` element can have the following child elements: ``, ``, ``, ``, ``
## repository
@@ -177,6 +177,13 @@
Type: string \
Example: `host1, host2, host3`
+## namespace
+
+Configures an XML-namespace with prefix and uri. The prefix can be used with commands like `get-property`. The element must have the `prefix` and the `uri` attribute.
+
+Type: no value
+Example: ``
+
## Example 1: minimal repository configuration
A minimal configuration for a repository. If no user and/or password are configured, dav prompts for authentication informations if required.
diff -r 2433b5969d44 -r 12ed560c926c docs/src/get-property.md
--- a/docs/src/get-property.md Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/get-property.md Tue Oct 03 16:59:39 2017 +0200
@@ -15,7 +15,7 @@
1. `D` for the `DAV:` namespace
2. `idav` for `http://davutils.org/`
-To use another namespace, use the `-n` option.
+To use another namespace, use the `-n` option or configure a namespace in the [config.xml][1] file.
If the property name has no prefix, and no namespace is specified, the default namespace `DAV:` is used.
@@ -26,3 +26,5 @@
**`-n `** specify property namespace
**Note:** Properties are never encrypted.
+
+[1]: ./configuration.html
diff -r 2433b5969d44 -r 12ed560c926c docs/src/header.html
--- a/docs/src/header.html Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/header.html Tue Oct 03 16:59:39 2017 +0200
@@ -17,6 +17,7 @@
diff -r 2433b5969d44 -r 12ed560c926c docs/src/list.md
--- a/docs/src/list.md Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/list.md Tue Oct 03 16:59:39 2017 +0200
@@ -2,7 +2,7 @@
title: 'dav list'
---
-**`dav list [-altepcR] [-u ] `**
+**`dav list [-altdepcR] [-u ] `**
Lists child resources of the specified collection. Without any option it
shows only the direct children and hides files beginning with a dot.
@@ -36,6 +36,8 @@
**`-t`** this options only works in combination with `-l` and it adds the resource content type to the output (after the flags)
+**`-d`** order resources by their lastmodified date
+
**`-e`** similar to `-l`, but with 6 flag fields. Currently only the first 4 fields are used. The last two are reserved for future use.
1. Field: `d---` indicates a collection
diff -r 2433b5969d44 -r 12ed560c926c docs/src/lock.md
--- a/docs/src/lock.md Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/lock.md Tue Oct 03 16:59:39 2017 +0200
@@ -12,6 +12,8 @@
**`-c`** enable file name and path decryption
+**`-T `** specify the lock token timeout in seconds
+
### Example 1: lock resource and use the lock token
$ dav lock myserv/resource
diff -r 2433b5969d44 -r 12ed560c926c docs/src/remove-property.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/src/remove-property.md Tue Oct 03 16:59:39 2017 +0200
@@ -0,0 +1,18 @@
+---
+title: 'dav remove-property'
+---
+
+**`dav remove-property [-pc] [-n ] `**
+
+Deletes a specific resource property.
+
+*property* is a property name with or without prefix (see [get-property][1] for details).
+
+[1]: ./get-property.html
+
+**`-p`** disable file name and path decryption if enabled
+
+**`-c`** enable file name and path decryption
+
+**`-n `** specify property namespace
+
diff -r 2433b5969d44 -r 12ed560c926c docs/src/sync-configuration.md
--- a/docs/src/sync-configuration.md Tue Oct 03 14:59:35 2017 +0200
+++ b/docs/src/sync-configuration.md Tue Oct 03 16:59:39 2017 +0200
@@ -11,7 +11,7 @@
This element configures a sync-directory. A sync-directory must have a unique name, a (local) path, repository and a database.
Required elements: ``, ``, ``, `` \
-Optional elements: ``, ``, ``, ``, ``, ``, ``
+Optional elements: ``, ``, ``, ``, ``, ``, ``, ``
### name
@@ -92,6 +92,14 @@
Default: false \
Example: `true`
+### 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.
+
+Type: integer \
+Default: 0 \
+Example: `50`
+
### filter
With the filter element, include and exclude filters can be specified, to control which files are synchronized. The *pull* and *push* 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.