-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmerges.sh
70 lines (63 loc) · 2.39 KB
/
merges.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
# FTPSync -- ugly sync-over-anything script
# Copyright (C) 2022 Vlad Meșco
#
# This file is part of FTPSync
#
# FTPSync is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
SETUP() {
cat - > expected.xsync <<EOT
[Upload]
My Documents/Untitled 2.docx = !
[Extra]
My Documents/Untitled 1.docx = s
[Merge]
a = s
My Pictures/Holiday 2/Videos/a smile.mp4 = s
My Pictures/Holiday 2/photo.jpg.1 = s
My Pictures/Holiday 2/photo.jpg = s
EOT
cat - > execute.xsync <<EOT
[Upload]
My Documents/Untitled 2.docx = !
[Extra]
My Documents/Untitled 1.docx = s
[Merge]
a = s
My Pictures/Holiday 2/Videos/a smile.mp4 = !
My Pictures/Holiday 2/photo.jpg.1 = s
My Pictures/Holiday 2/photo.jpg = k
EOT
set -x
T_small_modification 'reference/folder1/a'
T_big_modification 'reference/folder1/My Pictures/Holiday 2/Videos/a smile.mp4'
T_small_modification 'reference/folder1/My Pictures/Holiday 2/photo.jpg.1'
T_small_modification 'mirror/folder1/My Pictures/Holiday 2/photo.jpg'
rm 'reference/folder1/My Documents/Untitled 1.docx'
rm 'mirror/folder1/My Documents/Untitled 2.docx'
}
CHECK() {
set -x
T_check_different "folder1/a" || return 1
T_check_unmodified "mirror/folder1/a" || return 1
T_check_missing "reference/folder1/My Documents/Untitled 1.docx" || return 1
T_check_same "folder1/My Documents/Untitled 2.docx" || return 1
T_check_same "folder1/My Pictures/Holiday 2/photo.jpg" || return 1
T_check_different "folder1/My Pictures/Holiday 2/photo.jpg.1" || return 1
T_check_unmodified "mirror/folder1/My Pictures/Holiday 2/photo.jpg.1" || return 1
T_check_modified "mirror/folder1/My Pictures/Holiday 2/photo.jpg.2" || return 1
T_check_same "folder1/My Pictures/Holiday 2/Videos/seagull.mp4" || return 1
T_check_same "folder1/My Pictures/Holiday 2/Videos/a smile.mp4" || return 1
return 0
}