--- a/docs/src/sync-configuration.md Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/src/sync-configuration.md Sun Jun 24 11:51:07 2018 +0200 @@ -100,6 +100,47 @@ Default: 0 \ Example: `<lock-timeout>50</lock-timeout>` +### 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 + +### local-store + +Specifies the tag-store type. Currently the only available type is `xattr`. + +The element can contain the attribute `format` with one of the following values: `text`, `csv`, `xml`, `macos`. The default value is `text`. + +Type: tagstore type enum \ +Default: xattr \ +Example: `<local-store format="csv">xattr</local-store>` + +### xattr-name + +Specifies the name of the extended attribute for storing tags. The default value is `tags`, unless you are using the `macos` format, where the default value is `com.apple.metadata:_kMDItemUserTags`. + +Type: string \ +Default: tags \ +Example: `<xattr-name>file_tags</xattr-name> + +### detect-changes + +Controls, if tag changes should be detected. + +Type: boolean \ +Default: false \ +Example: `<detect-changes>true</detect-changes>` + +### on-conflict + +Specifies the behavior, when tag conflicts occur. Possible values are: `no_conflict`, `keep_local`, `keep_remote`, `merge` + +Type: onconflict enum \ +Default: no_conflict \ +Example: `<on-conflict>merge</on-conflict>` + + ### 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. @@ -136,13 +177,19 @@ ### tags -TODO +Filters resources by tags. Only resources, that are not a collection, are effected. If tags are not stored locally, the pull command still uses the filter. + +Filter Syntax: + + filter ::= operator? , (tag_list | ("(" , filter , ")")+) + tag_list ::= tag , ("," tag)* + operator ::= "&" | "|" | "1" | "0" Type: tag filter expression \ Example: <filter> <!-- sync only resources that have one of this tags --> - <tags>| (tag1, tag2, tag3) + <tags>| (tag1, tag2, tag3)</tags> </filter>