Sun, 24 Jun 2018 11:51:07 +0200
adds documentation for tag config
--- a/dav/version.h Sun Jun 24 11:22:02 2018 +0200 +++ b/dav/version.h Sun Jun 24 11:51:07 2018 +0200 @@ -27,6 +27,6 @@ */ #ifndef DAV_VERSION -#define DAV_VERSION "1.2 RC3" +#define DAV_VERSION "1.2 RC4" #endif
--- a/docs/schema/config.xsd Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/schema/config.xsd Sun Jun 24 11:51:07 2018 +0200 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!-- -Copyright 2016 Olaf Wintermann. All rights reserved. +Copyright 2018 Olaf Wintermann. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
--- a/docs/schema/sync.xsd Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/schema/sync.xsd Sun Jun 24 11:51:07 2018 +0200 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!-- -Copyright 2016 Olaf Wintermann. All rights reserved. +Copyright 2018 Olaf Wintermann. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -74,7 +74,7 @@ </xs:element> <xs:element name="detect-changes" minOccurs="0" type="xs:boolean" default="false" /> <xs:element name="xattr-name" minOccurs="0" type="xs:string" /> - <xs:element name="on-conflict" minOccurs="0" type="tagOnConflictEnum" /> + <xs:element name="on-conflict" minOccurs="0" type="t:tagOnConflictEnum" /> </xs:all> </xs:complexType>
--- a/docs/src/list-tags.md Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/src/list-tags.md Sun Jun 24 11:51:07 2018 +0200 @@ -10,3 +10,4 @@ **`-s <syncdir>`** SyncDirectory for this file +[1]: ./sync-configuration.html
--- a/docs/src/remove-tag.md Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/src/remove-tag.md Sun Jun 24 11:51:07 2018 +0200 @@ -10,3 +10,4 @@ **`-s <syncdir>`** SyncDirectory for this file +[1]: ./sync-configuration.html
--- a/docs/src/set-tags.md Sun Jun 24 11:22:02 2018 +0200 +++ b/docs/src/set-tags.md Sun Jun 24 11:51:07 2018 +0200 @@ -11,3 +11,5 @@ Tags must be enabled for the SyncDirectory. See [Configuration][1] for details. **`-s <syncdir>`** SyncDirectory for this file + +[1]: ./sync-configuration.html
--- 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>