Sun, 17 Dec 2023 14:25:34 +0100
[Makefile] fix missing rules preventing dry-runs
We have to support dry-runs, because many IDEs are using
dry-runs to collect build information.
Some rules have dependencies that expect certain files or
directories to be just present. We added respective build
rules which invoke the test program. This way, the behavior
when running make normally is exactly the same, but dry-runs
are also not failing now.
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | /* |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | * |
576
62cc92445234
store relative link in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
549
diff
changeset
|
4 | * Copyright 2019 Olaf Wintermann. All rights reserved. |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
5 | * |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
8 | * |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
11 | * |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
15 | * |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
27 | */ |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
28 | |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
29 | #ifndef SCFG_H |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | #define SCFG_H |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
31 | |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
32 | #include <cx/string.h> |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
33 | #include <stdbool.h> |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 | #include <libidav/webdav.h> |
789
378b5ab86f77
add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
778
diff
changeset
|
35 | |
378b5ab86f77
add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
778
diff
changeset
|
36 | #ifdef _WIN32 |
378b5ab86f77
add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
778
diff
changeset
|
37 | #include "pcreposix.h" |
378b5ab86f77
add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
778
diff
changeset
|
38 | #else |
58
1708cba82ca3
added include / exclude patterns
Mike Becker <universe@uap-core.de>
parents:
56
diff
changeset
|
39 | #include <regex.h> |
789
378b5ab86f77
add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
778
diff
changeset
|
40 | #endif |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
41 | |
399
a985a587787f
fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
368
diff
changeset
|
42 | #include "db.h" |
400
90c6bfa94fa2
moves tag filter to tags.c
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
399
diff
changeset
|
43 | #include "tags.h" |
399
a985a587787f
fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
368
diff
changeset
|
44 | |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
45 | #ifdef __cplusplus |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
46 | extern "C" { |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
47 | #endif |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | |
347
b6ff6be7aa91
adds config option to disable certain commands for specific syncdirs and fixes authmethod config parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
316
diff
changeset
|
49 | #define SYNC_CMD_PULL 1 |
b6ff6be7aa91
adds config option to disable certain commands for specific syncdirs and fixes authmethod config parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
316
diff
changeset
|
50 | #define SYNC_CMD_PUSH 2 |
b6ff6be7aa91
adds config option to disable certain commands for specific syncdirs and fixes authmethod config parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
316
diff
changeset
|
51 | #define SYNC_CMD_ARCHIVE 4 |
490
d94c4fd35c21
adds dav-sync restore command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
417
diff
changeset
|
52 | #define SYNC_CMD_RESTORE 8 |
144
c2c02c9b3be4
dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
75
diff
changeset
|
53 | |
644
a38b15061848
refactore symlink config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
642
diff
changeset
|
54 | #define SYNC_SYMLINK_SYNC 1 |
a38b15061848
refactore symlink config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
642
diff
changeset
|
55 | #define SYNC_SYMLINK_IGNORE_EXTERN 2 |
a38b15061848
refactore symlink config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
642
diff
changeset
|
56 | #define SYNC_SYMLINK_IGNORE_INTERN 4 |
576
62cc92445234
store relative link in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
549
diff
changeset
|
57 | |
368
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
58 | #define DEFAULT_TAG_XATTR "tags" |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
59 | #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
60 | |
647
8bf1d9688698
change versioning config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
644
diff
changeset
|
61 | #define VERSIONING_DEFAULT_PATH "/.dav-version-history" |
8bf1d9688698
change versioning config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
644
diff
changeset
|
62 | |
580
caf23cf7f96d
separate link changes from normal changes and create links after downloads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
576
diff
changeset
|
63 | #define SYNC_SYMLINK(dir) \ |
623
7870656d302d
add element for configuring symlinks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
580
diff
changeset
|
64 | (((dir)->symlink & SYNC_SYMLINK_SYNC) == SYNC_SYMLINK_SYNC) |
580
caf23cf7f96d
separate link changes from normal changes and create links after downloads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
576
diff
changeset
|
65 | |
630
046b869a1c49
use hash to check if a file content was really modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
623
diff
changeset
|
66 | #define SYNC_HASHING(dir) ((dir)->hashing) |
046b869a1c49
use hash to check if a file content was really modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
623
diff
changeset
|
67 | #define SYNC_STORE_HASH(dir) ((dir)->store_hash) |
046b869a1c49
use hash to check if a file content was really modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
623
diff
changeset
|
68 | |
534
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
69 | typedef struct TagConfig TagConfig; |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
70 | typedef struct Versioning Versioning; |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
71 | typedef struct SplitConfig SplitConfig; |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
72 | typedef struct Filter Filter; |
642
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
73 | |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
74 | enum PushStrategy { |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
75 | PUSH_STRATEGY_METADATA = 0, |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
76 | PUSH_STRATEGY_HASH |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
77 | }; |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
78 | typedef enum PushStrategy PushStrategy; |
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
79 | |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
80 | struct Filter { |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
81 | CxList *include; |
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
82 | CxList *exclude; |
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
83 | CxList *tags; |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
84 | }; |
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
85 | |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
86 | typedef struct SyncDirectory { |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
87 | char *name; |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
88 | char *path; |
65
d4077e8175f3
added optional trash for deleted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
58
diff
changeset
|
89 | char *trash; |
56
99f7816fcf01
added collection config for sync directories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
46
diff
changeset
|
90 | char *collection; |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
91 | char *repository; |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
92 | char *database; |
778
bf53db813cc9
add logfile sync config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
747
diff
changeset
|
93 | char *logfile; |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
94 | TagConfig *tagconfig; |
491
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
95 | Versioning *versioning; |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
96 | Filter filter; |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
97 | CxList *splitconfig; |
522
46f96dcd6eab
adds metadata config element for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
521
diff
changeset
|
98 | uint32_t metadata; |
144
c2c02c9b3be4
dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
75
diff
changeset
|
99 | int max_retry; |
347
b6ff6be7aa91
adds config option to disable certain commands for specific syncdirs and fixes authmethod config parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
316
diff
changeset
|
100 | int allow_cmd; |
623
7870656d302d
add element for configuring symlinks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
580
diff
changeset
|
101 | uint32_t symlink; |
316
9d0505d80044
adds dav-sync lock timeout config element
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
256
diff
changeset
|
102 | time_t lock_timeout; |
642
4e23087d3d90
add config element for push strategy
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
630
diff
changeset
|
103 | PushStrategy push_strategy; |
145
82475dc12dd4
improved dav-sync data-loss prevention
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
144
diff
changeset
|
104 | bool backuppull; |
221
e22c29b7ee2f
using locks in dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
200
diff
changeset
|
105 | bool lockpull; |
e22c29b7ee2f
using locks in dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
200
diff
changeset
|
106 | bool lockpush; |
549
af91d3c96994
add hashing config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
536
diff
changeset
|
107 | bool hashing; |
630
046b869a1c49
use hash to check if a file content was really modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
623
diff
changeset
|
108 | bool store_hash; |
649
0f4c59ac8c74
implement hash based conflict resolution in dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
648
diff
changeset
|
109 | bool pull_skip_hashing; |
521
c5bbae4b3cca
extends sync db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
491
diff
changeset
|
110 | uint32_t db_settings; |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
111 | } SyncDirectory; |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
112 | |
534
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
113 | struct SplitConfig { |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
114 | /* |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
115 | * resource filter or NULL |
534
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
116 | */ |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
117 | Filter *filter; |
534
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
118 | /* |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
119 | * minimum file size for activating file splitting |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
120 | * a value of -1 means no size restriction |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
121 | */ |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
122 | int64_t minsize; |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
123 | /* |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
124 | * split files into blocks with this size |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
125 | */ |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
126 | size_t blocksize; |
9a4857d6444e
adds dav-sync splitconfig parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
522
diff
changeset
|
127 | }; |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
128 | |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
129 | |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
130 | enum TagFormat { |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
131 | TAG_FORMAT_TEXT = 0, |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
132 | TAG_FORMAT_CSV, |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
133 | TAG_FORMAT_XML, |
363
e9ed8e130ccf
adds support for macos file tags
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
361
diff
changeset
|
134 | TAG_FORMAT_MACOS, |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
135 | TAG_FORMAT_UNKNOWN |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
136 | }; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
137 | typedef enum TagFormat TagFormat; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
138 | |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
139 | enum TagStore { |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
140 | TAG_STORE_XATTR = 0, |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
141 | TAG_STORE_UNKNOWN |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
142 | }; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
143 | typedef enum TagStore TagStore; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
144 | |
368
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
145 | enum TagConflict { |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
146 | TAG_NO_CONFLICT = 0, |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
147 | TAG_KEEP_LOCAL, |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
148 | TAG_KEEP_REMOTE, |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
149 | TAG_MERGE |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
150 | }; |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
151 | typedef enum TagConflict TagConflict; |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
152 | |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
153 | struct TagConfig { |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
154 | TagStore store; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
155 | TagFormat local_format; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
156 | TagFormat server_format; |
368
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
157 | char *xattr_name; |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
158 | TagConflict conflict; |
11797f33bc24
adds more tag config options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
367
diff
changeset
|
159 | bool detect_changes; |
361
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
160 | }; |
b6f2462ee055
adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
347
diff
changeset
|
161 | |
491
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
162 | enum VersioningType { |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
163 | VERSIONING_SIMPLE = 0, |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
164 | VERSIONING_DELTAV |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
165 | }; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
166 | typedef enum VersioningType VersioningType; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
167 | |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
168 | struct Versioning { |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
169 | VersioningType type; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
170 | char *collection; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
171 | bool always; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
172 | }; |
fdc2fb090cc7
adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
490
diff
changeset
|
173 | |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
174 | int load_sync_config(); |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
175 | |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
176 | CxIterator scfg_directory_iterator(); |
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
177 | SyncDirectory* scfg_get_dir(const char *name); |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
178 | |
233
d8042cede66c
improved dav-sync error handling on startup
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
226
diff
changeset
|
179 | int scfg_check_dir(SyncDirectory *dir); |
d8042cede66c
improved dav-sync error handling on startup
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
226
diff
changeset
|
180 | |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
181 | char* scfg_create_path(const char *cfg); |
226
acc997e0d0f9
added support for paths with environment variables in sync.xml
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
224
diff
changeset
|
182 | |
200
cc474cf2c2f5
added add-directory command to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
198
diff
changeset
|
183 | int add_directory(SyncDirectory *dir); |
256
54433cb371df
implements check-repositories command for dav-sync
Mike Becker <universe@uap-core.de>
parents:
244
diff
changeset
|
184 | |
747
efbd59642577
ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
649
diff
changeset
|
185 | char* generate_db_name(const char *basename); |
198
44054c452de1
added list-repositories and list-directories commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
185
diff
changeset
|
186 | |
648
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
187 | void free_filter(Filter filter); |
fefe4b6f1048
change split config
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
647
diff
changeset
|
188 | |
224
4b55f05f4e00
added more cleanup code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
221
diff
changeset
|
189 | void free_sync_config(); |
4b55f05f4e00
added more cleanup code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
221
diff
changeset
|
190 | |
46
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
191 | |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
192 | #ifdef __cplusplus |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
193 | } |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
194 | #endif |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
195 | |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
196 | #endif /* SCFG_H */ |
0542668d0f26
added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
197 |