##// END OF EJS Templates
tests: remove 'hghave symlink' from test-import-git.t...
tests: remove 'hghave symlink' from test-import-git.t The test had a long chain of commits depending on execbits in some of first commits. The hashes are checked throughout the file, so there was no elegant way to make it pass both with and without execbits. We now rollback the execbits-or-not commits and make a stable change instead. The hash chain is thus updated once but is now a bit more stable. The test coverage should be unaltered.

File last commit:

r16909:b6fd2f89 default
r16910:ad229181 default
Show More
test-convert-svn-sink.t
436 lines | 7.7 KiB | text/troff | Tads3Lexer
/ tests / test-convert-svn-sink.t
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 $ "$TESTDIR/hghave" svn13 no-outer-repo || exit 80
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ fixpath()
> {
> tr '\\' /
> }
$ svnupanddisplay()
> {
> (
> cd $1;
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 > svn up -q;
> svn st -v | fixpath | sed 's/ */ /g' | sort
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > limit=''
> if [ $2 -gt 0 ]; then
> limit="--limit=$2"
> fi
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 > svn log --xml -v $limit | python "$TESTDIR/svnxml.py"
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > )
> }
Martin Geisler
tests: don't overwrite HGRCPATH...
r13519 $ cat >> $HGRCPATH <<EOF
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > [extensions]
> convert =
> graphlog =
> EOF
$ hg init a
Add
$ echo a > a/a
$ mkdir -p a/d1/d2
$ echo b > a/d1/d2/b
$ hg --cwd a ci -d '0 0' -A -m 'add a file'
adding a
adding d1/d2/b
Modify
$ "$TESTDIR/svn-safe-append.py" a a/a
$ hg --cwd a ci -d '1 0' -m 'modify a file'
$ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 1:e0e2b8a9156b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg convert -d svn a
assuming destination a-hg
initializing svn repository 'a-hg'
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
1 add a file
0 modify a file
$ svnupanddisplay a-hg-wc 2
2 1 test d1
2 1 test d1/d2
2 1 test d1/d2/b
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 2 2 test .
2 2 test a
revision: 2
author: test
msg: modify a file
M /a
revision: 1
author: test
msg: add a file
A /a
A /d1
A /d1/d2
A /d1/d2/b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ ls a a-hg-wc
a:
a
d1
a-hg-wc:
a
d1
$ cmp a/a a-hg-wc/a
Rename
$ hg --cwd a mv a b
$ hg --cwd a ci -d '2 0' -m 'rename a file'
$ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 2:eb5169441d43
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 rename a file
$ svnupanddisplay a-hg-wc 1
3 1 test d1
3 1 test d1/d2
3 1 test d1/d2/b
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 3 3 test .
3 3 test b
revision: 3
author: test
msg: rename a file
D /a
A /b (from /a@2)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ ls a a-hg-wc
a:
b
d1
a-hg-wc:
b
d1
Copy
$ hg --cwd a cp b c
$ hg --cwd a ci -d '3 0' -m 'copy a file'
$ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 3:60effef6ab48
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 copy a file
$ svnupanddisplay a-hg-wc 1
4 1 test d1
4 1 test d1/d2
4 1 test d1/d2/b
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 4 3 test b
4 4 test .
4 4 test c
revision: 4
author: test
msg: copy a file
A /c (from /b@3)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ ls a a-hg-wc
a:
b
c
d1
a-hg-wc:
b
c
d1
$ hg --cwd a rm b
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Remove
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ hg --cwd a ci -d '4 0' -m 'remove a file'
$ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 4:87bbe3013fb6
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 remove a file
$ svnupanddisplay a-hg-wc 1
5 1 test d1
5 1 test d1/d2
5 1 test d1/d2/b
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 5 4 test c
5 5 test .
revision: 5
author: test
msg: remove a file
D /b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ ls a a-hg-wc
a:
c
d1
a-hg-wc:
c
d1
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 Executable
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if execbit
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ chmod +x a/c
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #else
$ echo fake >> a/c
#endif
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ hg --cwd a ci -d '5 0' -m 'make a file executable'
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if execbit
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 5:ff42e473c340
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #else
$ hg --cwd a tip -q
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 5:817a700c8cf1
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #endif
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 make a file executable
$ svnupanddisplay a-hg-wc 1
6 1 test d1
6 1 test d1/d2
6 1 test d1/d2/b
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 6 6 test .
6 6 test c
revision: 6
author: test
msg: make a file executable
M /c
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if execbit
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ test -x a-hg-wc/c
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #endif
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909
#if symlink
Symlinks
$ ln -s a/missing a/link
$ hg --cwd a commit -Am 'add symlink'
adding link
$ hg --cwd a mv link newlink
$ hg --cwd a commit -m 'move symlink'
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
1 add symlink
0 move symlink
$ svnupanddisplay a-hg-wc 1
8 1 test d1
8 1 test d1/d2
8 1 test d1/d2/b
8 6 test c
8 8 test .
8 8 test newlink
revision: 8
author: test
msg: move symlink
D /link
A /newlink (from /link@7)
#endif
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 $ rm -rf a a-hg a-hg-wc
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 Executable in new directory
$ hg init a
$ mkdir a/d1
$ echo a > a/d1/a
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if execbit
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ chmod +x a/d1/a
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #else
$ echo fake >> a/d1/a
#endif
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory'
adding d1/a
$ hg convert -d svn a
assuming destination a-hg
initializing svn repository 'a-hg'
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 add executable file in new directory
$ svnupanddisplay a-hg-wc 1
1 1 test .
1 1 test d1
1 1 test d1/a
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 revision: 1
author: test
msg: add executable file in new directory
A /d1
A /d1/a
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if execbit
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ test -x a-hg-wc/d1/a
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #endif
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Copy to new directory
$ mkdir a/d2
$ hg --cwd a cp d1/a d2/a
$ hg --cwd a ci -d '1 0' -A -m 'copy file to new directory'
$ hg convert -d svn a
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 copy file to new directory
$ svnupanddisplay a-hg-wc 1
2 1 test d1
2 1 test d1/a
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 2 2 test .
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 2 2 test d2
2 2 test d2/a
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 revision: 2
author: test
msg: copy file to new directory
A /d2
A /d2/a (from /d1/a@1)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Branchy history
$ hg init b
$ echo base > b/b
$ hg --cwd b ci -d '0 0' -Ambase
adding b
$ "$TESTDIR/svn-safe-append.py" left-1 b/b
$ echo left-1 > b/left-1
$ hg --cwd b ci -d '1 0' -Amleft-1
adding left-1
$ "$TESTDIR/svn-safe-append.py" left-2 b/b
$ echo left-2 > b/left-2
$ hg --cwd b ci -d '2 0' -Amleft-2
adding left-2
$ hg --cwd b up 0
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ "$TESTDIR/svn-safe-append.py" right-1 b/b
$ echo right-1 > b/right-1
$ hg --cwd b ci -d '3 0' -Amright-1
adding right-1
created new head
$ "$TESTDIR/svn-safe-append.py" right-2 b/b
$ echo right-2 > b/right-2
$ hg --cwd b ci -d '4 0' -Amright-2
adding right-2
$ hg --cwd b up -C 2
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg --cwd b merge
merging b
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging b incomplete! (edit conflicts, then use 'hg resolve --mark')
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 2 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ hg --cwd b revert -r 2 b
$ hg resolve -m b
$ hg --cwd b ci -d '5 0' -m 'merge'
Expect 4 changes
$ hg convert -d svn b
assuming destination b-hg
initializing svn repository 'b-hg'
initializing svn working copy 'b-hg-wc'
scanning source...
sorting...
converting...
5 base
4 left-1
3 left-2
2 right-1
1 right-2
0 merge
$ svnupanddisplay b-hg-wc 0
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 4 2 test left-1
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 4 3 test b
4 3 test left-2
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 4 4 test .
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 4 4 test right-1
4 4 test right-2
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 revision: 4
author: test
msg: merge
A /right-1
A /right-2
revision: 3
author: test
msg: left-2
M /b
A /left-2
revision: 2
author: test
msg: left-1
M /b
A /left-1
revision: 1
author: test
msg: base
A /b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Tags are not supported, but must not break conversion
$ rm -rf a a-hg a-hg-wc
$ hg init a
$ echo a > a/a
$ hg --cwd a ci -d '0 0' -A -m 'Add file a'
adding a
$ hg --cwd a tag -d '1 0' -m 'Tagged as v1.0' v1.0
$ hg convert -d svn a
assuming destination a-hg
initializing svn repository 'a-hg'
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
1 Add file a
0 Tagged as v1.0
writing Subversion tags is not yet implemented
$ svnupanddisplay a-hg-wc 2
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 2 1 test a
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 2 2 test .
2 2 test .hgtags
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 revision: 2
author: test
msg: Tagged as v1.0
A /.hgtags
revision: 1
author: test
msg: Add file a
A /a
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ rm -rf a a-hg a-hg-wc