--- a/docs/html/sync-configuration.html Sat Aug 05 13:35:27 2017 +0200 +++ b/docs/html/sync-configuration.html Sun Aug 06 14:41:20 2017 +0200 @@ -4,7 +4,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="generator" content="pandoc" /> - <title></title> + <title>Configuration</title> <style type="text/css">code{white-space: pre;}</style> <link rel="stylesheet" href="davdoc.css" type="text/css" /> </head> @@ -64,7 +64,82 @@ <!-- begin content --> <div class="content"> - +<div id="header"> +<h1 class="title">Configuration</h1> +</div> +<p>The file <code>$HOME/.dav/sync.xml</code> is used for configuring sync-directories.</p> +<p>The <em>sync.xml</em> file is an XML file with <code><configuration></code> as root element. This element can only have <code><directory></code> elements as children.</p> +<h2 id="directory">directory</h2> +<p>This element configures a sync-directory. A sync-directory must have a unique name, a (local) path, repository and a database.</p> +<p>Required elements: <code><name></code>, <code><repository></code>, <code><path></code>, <code><database></code><br /> +Optional elements: <code><collection></code>, <code><trash></code>, <code><max-retry></code>, <code><backup-on-pull></code>, <code><lock-pull></code>, <code><lock-push></code>, <code><filter></code></p> +<h3 id="name">name</h3> +<p>Unique sync-directory identifer. This identifer is used in combination with all <em>dav-sync</em> commands.</p> +<p>Type: string<br /> +Example: <code><name>mysyncdir</name></code></p> +<h3 id="repository">repository</h3> +<p>Name of the WebDAV-repository. A repository with the same name must be configured in [config.xml][1].</p> +<p>Type: string<br /> +Example: <code><name>myrepo</name></code></p> +<h3 id="path">path</h3> +<p>The path of the local directory that should be synchronized. The path must be an absolute path or start with an environment variable. A path with an environment variable must start with an <code>$</code> followed by the variable name optionally followed by a path. For example:</p> +<pre><code>`<path>$HOME/Documents</path>`</code></pre> +<p>The part between <code>$</code> and <code>/</code> is the environment variable name.</p> +<p>Type: string<br /> +Example: <code><path>/absolute/path</path></code></p> +<h3 id="database">database</h3> +<p>Path to the database file used for this sync-directory. The path must be relative to the <em>$HOME/.dav/</em> directory.</p> +<p>Type: string<br /> +Example: <code><database>myrepo-db.xml</database></code></p> +<h3 id="collection">collection</h3> +<p>Path of the collection relative to the repository root collection. For example if the repository url is <em>http://example.com/webdav/</em> and the collection value is <em>/myfiles/</em>, the directory is synchronized with <em>http://example.com/webdav/myfiles/</em></p> +<p>Type: string<br /> +Default: /<br /> +Example: <code><collection>/myfiles</collection></code></p> +<h3 id="trash">trash</h3> +<p>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.</p> +<p>Type: string<br /> +Example: <code><trash>.trash</trash></code></p> +<h3 id="max-retry">max-retry</h3> +<p>This integer value controls how many attempts of downloading/uploading a file in case of an error are made.</p> +<p>Type: integer<br /> +Default: 0<br /> +Example: <code><max-retry>3</max-retry></code></p> +<h3 id="backup-on-pull">backup-on-pull</h3> +<p>If this element has the value of true, the <em>pull</em> command will move old local files to the trash directory before downloading the new version from the server.</p> +<p>Type: boolean<br /> +Default: false<br /> +Example: <code><backup-on-pull>true</backup-on-pull></code></p> +<h3 id="lock-pull">lock-pull</h3> +<p>Enables locking for the <em>pull</em> command.</p> +<p>Type: boolean<br /> +Default: false<br /> +Example: <code><lock-pull>true</lock-pull></code></p> +<h3 id="lock-push">lock-push</h3> +<p>Enables locking for the <em>push</em> command.</p> +<p>Type: boolean<br /> +Default: false<br /> +Example: <code><lock-push>true</lock-push></code></p> +<h3 id="filter">filter</h3> +<p>With the filter element, include and exclude filters can be specified, to control which files are synchronized. The <em>pull</em> and <em>push</em> 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.</p> +<p>Note: The file path is relative to the directory path (and WebDAV collection) but always starts with an path separator.</p> +<p>Optional elements: <code><include></code>, <code><exclude></code></p> +<h3 id="include">include</h3> +<p>Controls which files will be included by <em>pull</em> and <em>push</em>. If an include filter is specified, only files matching this filter are included.</p> +<p>Type: regex string<br /> +Default: .*<br /> +Example:</p> +<pre><code><filter> + <include>\.pdf$</include> +</filter></code></pre> +<h3 id="exclude">exclude</h3> +<p>Controls which files will be excluded by <em>pull</em> and <em>push</em>.</p> +<p>Type: regex string<br /> +Example:</p> +<pre><code><filter> + <exclude>^/secretdir</exclude> + <exclude>\.DS_Store$</exclude> +</filter></code></pre> </div> <!-- end content --> </body>