##// END OF EJS Templates
rebase: choose default destination the same way as 'hg merge' (BC)...
rebase: choose default destination the same way as 'hg merge' (BC) This changeset finally make 'hg rebase' choose its default destination using the same logic as 'hg merge'. The previous default was "tipmost changeset on the current branch", the new default is "the other head if there is only one". This change has multiple consequences: - Multiple tests which were not rebasing anything (rebasing from tipmost head) are now rebasing on the other "lower" branch. This is the expected new behavior. - A test is now explicitly aborting when there is too many heads on the branch. This is the expected behavior. - We gained a better detection of the "nothing to rebase" case while performing 'hg pull --rebase' so the message have been updated. Making clearer than an update was performed and why. This is beneficial side-effect. - Rebasing from an active bookmark will behave the same as 'hg merge' from a bookmark.

File last commit:

r26614:ef1eb6df default
r28189:fac3a24b default
Show More
test-convert-svn-sink.t
468 lines | 8.5 KiB | text/troff | Tads3Lexer
/ tests / test-convert-svn-sink.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require svn13
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ svnupanddisplay()
> {
> (
> cd $1;
Patrick Mezard
test-convert-svn-sink: add helper to smooth svn xml output...
r16512 > svn up -q;
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 > svn st -v | 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]
Mads Kiilerich
check-code: fix check for trailing whitespace on continued lines too...
r17347 > convert =
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > 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
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ svn-safe-append.py a a/a
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ 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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 2 1 test d1/d2 (glob)
2 1 test d1/d2/b (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 3 1 test d1/d2 (glob)
3 1 test d1/d2/b (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 4 1 test d1/d2 (glob)
4 1 test d1/d2/b (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 5 1 test d1/d2 (glob)
5 1 test d1/d2/b (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 6 1 test d1/d2 (glob)
6 1 test d1/d2/b (glob)
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'
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098 $ hg convert -d svn a a-svnlink
initializing svn repository 'a-svnlink'
initializing svn working copy 'a-svnlink-wc'
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 scanning source...
sorting...
converting...
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098 7 add a file
6 modify a file
5 rename a file
4 copy a file
3 remove a file
2 make a file executable
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 1 add symlink
0 move symlink
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098 $ svnupanddisplay a-svnlink-wc 1
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 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)
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098 Make sure our changes don't affect the rest of the test cases
$ hg --cwd a up 5
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg --cwd a --config extensions.strip= strip -r 6
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a/.hg/strip-backup/bd4f7b7a7067-ed505e42-backup.hg (glob)
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098
Mads Kiilerich
tests: remove 'hghave symlink' from test-convert-svn-sink.t...
r16909 #endif
Mads Kiilerich
convert: introduce --full for converting all files...
r22300 Convert with --full adds and removes files that didn't change
$ touch a/f
$ hg -R a ci -Aqmf
$ echo "rename c d" > filemap
$ hg convert -d svn a --filemap filemap --full
assuming destination a-hg
initializing svn working copy 'a-hg-wc'
scanning source...
sorting...
converting...
0 f
$ svnupanddisplay a-hg-wc 1
Matt Mackall
test-convert-svn-sink: properly isolate symlink section...
r23098 7 7 test .
7 7 test d
7 7 test f
revision: 7
Mads Kiilerich
convert: introduce --full for converting all files...
r22300 author: test
msg: f
D /c
A /d
D /d1
A /f
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 1 1 test d1/a (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 2 1 test d1/a (glob)
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
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 2 2 test d2/a (glob)
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
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ svn-safe-append.py left-1 b/b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ echo left-1 > b/left-1
$ hg --cwd b ci -d '1 0' -Amleft-1
adding left-1
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ svn-safe-append.py left-2 b/b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ 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
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ svn-safe-append.py right-1 b/b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ echo right-1 > b/right-1
$ hg --cwd b ci -d '3 0' -Amright-1
adding right-1
created new head
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ svn-safe-append.py right-2 b/b
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ 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
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging b! (edit, 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
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 $ hg --cwd b resolve -m b
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ 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