author | Martin von Zweigbergk <martinvonz@google.com> |
Tue, 05 Apr 2022 08:47:04 -0700 | |
changeset 49064 | 95da3e99cbd8 |
parent 13052 | 5fb924ee44d5 |
permissions | -rwxr-xr-x |
11128
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 |
RSVN="`pwd`/rsvn.py" |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 |
export PATH=/bin:/usr/bin |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 |
mkdir temp |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 |
cd temp |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 |
svnadmin create repo |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 |
svn co file://`pwd`/repo wc |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 |
cd wc |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 |
mkdir trunk branches |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 |
cd trunk |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 |
echo a > a |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 |
mkdir d |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 |
echo b > d/b |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 |
ln -s d dlink |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
18 |
ln -s d dlink2 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
19 |
ln -s d dlink3 |
13052
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
20 |
mkdir d2 |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
21 |
echo a > d2/a |
11128
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 |
cd .. |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
23 |
svn add * |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 |
svn ci -m 'initial' |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
25 |
# Clobber symlink with file with similar content |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
26 |
cd trunk |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
27 |
ls -Alh |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
28 |
readlink dlink3 > dlink3tmp |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
29 |
rm dlink3 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
30 |
mv dlink3tmp dlink3 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 |
svn propdel svn:special dlink3 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
32 |
svn ci -m 'clobber symlink' |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
33 |
cd .. |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
34 |
svn up |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
35 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
36 |
# Clobber files and symlink with directories |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
37 |
cd .. |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
38 |
cat > clobber.rsvn <<EOF |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
39 |
rdelete trunk/a |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
40 |
rdelete trunk/dlink |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
41 |
rcopy trunk/d trunk/a |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
42 |
rcopy trunk/d trunk/dlink |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
43 |
EOF |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
44 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
45 |
python $RSVN --message=clobber1 --username=evil `pwd`/repo < clobber.rsvn |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
46 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
47 |
# Clobber non-symlink with symlink with same content (kudos openwrt) |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
48 |
cat > clobber.rsvn <<EOF |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
49 |
rdelete trunk/dlink3 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
50 |
rcopy trunk/dlink2 trunk/dlink3 |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
51 |
EOF |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
52 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
53 |
python $RSVN --message=clobber2 --username=evil `pwd`/repo < clobber.rsvn |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
54 |
|
13052
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
55 |
# Create d2 in branch so d2 has 'a' is in branch/d2 and trunk/d2, |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
56 |
# 'b' is in trunk/d2 and 'c' is in branch/d2 |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
57 |
cd wc/trunk |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
58 |
echo b > d2/b |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
59 |
svn add d2/b |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
60 |
svn ci -m adddb |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
61 |
cd .. |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
62 |
svn up |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
63 |
svn cp trunk branches/branch |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
64 |
cd branches/branch |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
65 |
svn rm d2/b |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
66 |
echo c > d2/c |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
67 |
svn add d2/c |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
68 |
cd ../.. |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
69 |
svn ci -m branch |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
70 |
svn up |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
71 |
cd .. |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
72 |
|
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
73 |
cat > clobber.rsvn <<EOF |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
74 |
rdelete trunk/d2 |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
75 |
rcopy branches/branch/d2 trunk/d2 |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
76 |
EOF |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
77 |
python $RSVN --message=clobberdir --username=evil `pwd`/repo < clobber.rsvn |
5fb924ee44d5
convert/svn: fix changed files list upon directory replacements
Patrick Mezard <pmezard@gmail.com>
parents:
11128
diff
changeset
|
78 |
|
11128
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
79 |
svn log -v file://`pwd`/repo |
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
80 |
|
a9b427b5821e
convert/svn: handle files/links replaced by dirs (issue2166)
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
81 |
svnadmin dump repo > ../replace.svndump |