##// END OF EJS Templates
tests: add some missing #if's / hghave requirements...
tests: add some missing #if's / hghave requirements Seen on Linux with FAT.

File last commit:

r16972:5efe9c6a default
r16972:5efe9c6a default
Show More
test-transplant.t
537 lines | 12.0 KiB | text/troff | Tads3Lexer
/ tests / test-transplant.t
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446 $ "$TESTDIR/hghave" serve || exit 80
Nicolas Dumazet
tests: unify test-transplant
r11800 $ cat <<EOF >> $HGRCPATH
> [extensions]
> transplant=
> EOF
$ hg init t
$ cd t
$ echo r1 > r1
$ hg ci -Amr1 -d'0 0'
adding r1
$ echo r2 > r2
$ hg ci -Amr2 -d'1 0'
adding r2
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo b1 > b1
$ hg ci -Amb1 -d '0 0'
adding b1
created new head
$ echo b2 > b2
$ hg ci -Amb2 -d '1 0'
adding b2
$ echo b3 > b3
$ hg ci -Amb3 -d '2 0'
adding b3
$ hg log --template '{rev} {parents} {desc}\n'
4 b3
3 b2
2 0:17ab29e464c6 b1
1 r2
0 r1
$ hg clone . ../rebase
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../rebase
$ hg up -C 1
1 files updated, 0 files merged, 3 files removed, 0 files unresolved
rebase b onto r1
$ hg transplant -a -b tip
applying 37a1297eb21b
37a1297eb21b transplanted to e234d668f844
applying 722f4667af76
722f4667af76 transplanted to 539f377d78df
applying a53251cdf717
a53251cdf717 transplanted to ffd6818a3975
$ hg log --template '{rev} {parents} {desc}\n'
7 b3
6 b2
5 1:d11e3596cc1a b1
4 b3
3 b2
2 0:17ab29e464c6 b1
1 r2
0 r1
Patrick Mezard
test-transplant: test transplanted() revset
r12811 test transplanted revset
$ hg log -r 'transplanted()' --template '{rev} {parents} {desc}\n'
5 1:d11e3596cc1a b1
6 b2
7 b3
$ hg help revsets | grep transplanted
Idan Kamara
transplant: fix revset doc
r14211 "transplanted([set])"
Transplanted changesets in set, or all transplanted changesets.
Patrick Mezard
test-transplant: test transplanted() revset
r12811
Patrick Mezard
transplant: add "transplanted" keyword...
r13689 test tranplanted keyword
$ hg log --template '{rev} {transplanted}\n'
7 a53251cdf717679d1907b289f991534be05c997a
6 722f4667af767100cb15b6a79324bf8abbfe1ef4
5 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21
4
3
2
1
0
Greg Ward
transplant: wrap a transaction around the whole command
r15204 rollback the transplant
$ hg rollback
repository tip rolled back to revision 4 (undo transplant)
working directory now based on revision 1
$ hg tip -q
4:a53251cdf717
$ hg parents -q
1:d11e3596cc1a
$ hg status
? b1
? b2
? b3
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg clone ../t ../prune
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../prune
$ hg up -C 1
1 files updated, 0 files merged, 3 files removed, 0 files unresolved
rebase b onto r1, skipping b2
$ hg transplant -a -b tip -p 3
applying 37a1297eb21b
37a1297eb21b transplanted to e234d668f844
applying a53251cdf717
a53251cdf717 transplanted to 7275fda4d04f
$ hg log --template '{rev} {parents} {desc}\n'
6 b3
5 1:d11e3596cc1a b1
4 b3
3 b2
2 0:17ab29e464c6 b1
1 r2
0 r1
Levi Bard
transplant: manually transplant pullable changesets with --log
r16627 test same-parent transplant with --log
Nicolas Dumazet
tests: unify test-transplant
r11800
Levi Bard
transplant: manually transplant pullable changesets with --log
r16627 $ hg clone -r 1 ../t ../sameparent
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../sameparent
$ hg transplant --log -s ../prune 5
searching for changes
applying e234d668f844
e234d668f844 transplanted to e07aea8ecf9c
$ hg log --template '{rev} {parents} {desc}\n'
2 b1
(transplanted from e234d668f844e1b1a765f01db83a32c0c7bfa170)
1 r2
0 r1
Nicolas Dumazet
tests: unify test-transplant
r11800 remote transplant
$ hg clone -r 1 ../t ../remote
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../remote
$ hg transplant --log -s ../t 2 4
searching for changes
applying 37a1297eb21b
37a1297eb21b transplanted to c19cf0ccb069
applying a53251cdf717
a53251cdf717 transplanted to f7fe5bf98525
$ hg log --template '{rev} {parents} {desc}\n'
3 b3
(transplanted from a53251cdf717679d1907b289f991534be05c997a)
2 b1
(transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21)
1 r2
0 r1
skip previous transplants
$ hg transplant -s ../t -a -b 4
searching for changes
applying 722f4667af76
722f4667af76 transplanted to 47156cd86c0b
$ hg log --template '{rev} {parents} {desc}\n'
4 b2
3 b3
(transplanted from a53251cdf717679d1907b289f991534be05c997a)
2 b1
(transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21)
1 r2
0 r1
skip local changes transplanted to the source
$ echo b4 > b4
$ hg ci -Amb4 -d '3 0'
adding b4
$ hg clone ../t ../pullback
updating to branch default
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../pullback
$ hg transplant -s ../remote -a -b tip
searching for changes
applying 4333daefcb15
4333daefcb15 transplanted to 5f42c04e07cc
remote transplant with pull
$ hg -R ../t serve -p $HGPORT -d --pid-file=../t.pid
$ cat ../t.pid >> $DAEMON_PIDS
$ hg clone -r 0 ../t ../rp
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../rp
$ hg transplant -s http://localhost:$HGPORT/ 2 4
searching for changes
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
applying a53251cdf717
a53251cdf717 transplanted to 8d9279348abb
$ hg log --template '{rev} {parents} {desc}\n'
2 b3
1 b1
0 r1
transplant --continue
$ hg init ../tc
$ cd ../tc
$ cat <<EOF > foo
> foo
> bar
> baz
> EOF
$ echo toremove > toremove
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 $ echo baz > baz
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg ci -Amfoo
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 adding baz
Nicolas Dumazet
tests: unify test-transplant
r11800 adding foo
adding toremove
$ cat <<EOF > foo
> foo2
> bar2
> baz2
> EOF
$ rm toremove
$ echo added > added
$ hg ci -Amfoo2
adding added
removing toremove
$ echo bar > bar
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 $ cat > baz <<EOF
> before baz
> baz
> after baz
> EOF
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg ci -Ambar
adding bar
$ echo bar2 >> bar
$ hg ci -mbar2
$ hg up 0
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 3 files updated, 0 files merged, 2 files removed, 0 files unresolved
Nicolas Dumazet
tests: unify test-transplant
r11800 $ echo foobar > foo
$ hg ci -mfoobar
created new head
$ hg transplant 1:3
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 applying 46ae92138f3c
Nicolas Dumazet
tests: unify test-transplant
r11800 patching file foo
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file foo.rej
patch failed to apply
Martin Geisler
Merge with stable
r12070 abort: fix up the merge and run hg transplant --continue
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-transplant
r11800
transplant -c shouldn't use an old changeset
$ hg up -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm added
$ hg transplant 1
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 applying 46ae92138f3c
Nicolas Dumazet
tests: unify test-transplant
r11800 patching file foo
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file foo.rej
patch failed to apply
Martin Geisler
Merge with stable
r12070 abort: fix up the merge and run hg transplant --continue
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg transplant --continue
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 46ae92138f3c transplanted as 9159dada197d
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg transplant 1:3
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 skipping already applied revision 1:46ae92138f3c
applying 9d6d6b5a8275
9d6d6b5a8275 transplanted to 2d17a10c922f
applying 1dab759070cf
1dab759070cf transplanted to e06a69927eb0
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg locate
added
bar
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507 baz
Nicolas Dumazet
tests: unify test-transplant
r11800 foo
Patrick Mezard
transplant: do not rollback on patching error (issue3379)...
r16507
test multiple revisions and --continue
$ hg up -qC 0
$ echo bazbaz > baz
$ hg ci -Am anotherbaz baz
created new head
$ hg transplant 1:3
applying 46ae92138f3c
46ae92138f3c transplanted to 1024233ea0ba
applying 9d6d6b5a8275
patching file baz
Hunk #1 FAILED at 0
1 out of 1 hunks FAILED -- saving rejects to file baz.rej
patch failed to apply
abort: fix up the merge and run hg transplant --continue
[255]
$ echo fixed > baz
$ hg transplant --continue
9d6d6b5a8275 transplanted as d80c49962290
applying 1dab759070cf
1dab759070cf transplanted to aa0ffe6bd5ae
Nicolas Dumazet
tests: unify test-transplant
r11800 $ cd ..
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue1111: Test transplant --merge
Nicolas Dumazet
tests: unify test-transplant
r11800
$ hg init t1111
$ cd t1111
$ echo a > a
$ hg ci -Am adda
adding a
$ echo b >> a
$ hg ci -m appendb
$ echo c >> a
$ hg ci -m appendc
$ hg up -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo d >> a
$ hg ci -m appendd
created new head
tranplant
$ hg transplant -m 1
applying 42dc4432fd35
1:42dc4432fd35 merged at a9f4acbac129
$ cd ..
test transplant into empty repository
$ hg init empty
$ cd empty
$ hg transplant -s ../t -b tip -a
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 4 files
$ cd ..
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #if unix-permissions system-sh
Nicolas Dumazet
tests: unify test-transplant
r11800 test filter
$ hg init filter
$ cd filter
$ cat <<'EOF' >test-filter
> #!/bin/sh
> sed 's/r1/r2/' $1 > $1.new
> mv $1.new $1
> EOF
$ chmod +x test-filter
$ hg transplant -s ../t -b tip -a --filter ./test-filter
Brodie Rao
tests: add glob matching for unified tests...
r12376 filtering * (glob)
Nicolas Dumazet
tests: unify test-transplant
r11800 applying 17ab29e464c6
17ab29e464c6 transplanted to e9ffc54ea104
Brodie Rao
tests: add glob matching for unified tests...
r12376 filtering * (glob)
Nicolas Dumazet
tests: unify test-transplant
r11800 applying 37a1297eb21b
37a1297eb21b transplanted to 348b36d0b6a5
Brodie Rao
tests: add glob matching for unified tests...
r12376 filtering * (glob)
Nicolas Dumazet
tests: unify test-transplant
r11800 applying 722f4667af76
722f4667af76 transplanted to 0aa6979afb95
Brodie Rao
tests: add glob matching for unified tests...
r12376 filtering * (glob)
Nicolas Dumazet
tests: unify test-transplant
r11800 applying a53251cdf717
a53251cdf717 transplanted to 14f8512272b5
$ hg log --template '{rev} {parents} {desc}\n'
3 b3
2 b2
1 b1
0 r2
$ cd ..
test filter with failed patch
$ cd filter
$ hg up 0
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ echo foo > b1
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -Am foo
Nicolas Dumazet
tests: unify test-transplant
r11800 adding b1
adding test-filter
created new head
$ hg transplant 1 --filter ./test-filter
Brodie Rao
tests: add glob matching for unified tests...
r12376 filtering * (glob)
Nicolas Dumazet
tests: unify test-transplant
r11800 applying 348b36d0b6a5
file b1 already exists
1 out of 1 hunks FAILED -- saving rejects to file b1.rej
patch failed to apply
Martin Geisler
Merge with stable
r12070 abort: fix up the merge and run hg transplant --continue
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-transplant
r11800 $ cd ..
Luke Plant
transplant: added 'HGREVISION' variable to the environment passed to the 'filter' command...
r13579 test environment passed to filter
$ hg init filter-environment
$ cd filter-environment
$ cat <<'EOF' >test-filter-environment
> #!/bin/sh
> echo "Transplant by $HGUSER" >> $1
> echo "Transplant from rev $HGREVISION" >> $1
> EOF
$ chmod +x test-filter-environment
$ hg transplant -s ../t --filter ./test-filter-environment 0
filtering * (glob)
applying 17ab29e464c6
17ab29e464c6 transplanted to 5190e68026a0
$ hg log --template '{rev} {parents} {desc}\n'
0 r1
Transplant by test
Transplant from rev 17ab29e464c6ca53e329470efe2a9918ac617a6f
$ cd ..
Luke Plant
transplant: fix crash if filter script munges log file...
r13789 test transplant with filter handles invalid changelog
$ hg init filter-invalid-log
$ cd filter-invalid-log
$ cat <<'EOF' >test-filter-invalid-log
> #!/bin/sh
> echo "" > $1
> EOF
$ chmod +x test-filter-invalid-log
$ hg transplant -s ../t --filter ./test-filter-invalid-log 0
filtering * (glob)
Brendan Cully
Fix transplant error message to correspond with test
r13790 abort: filter corrupted changeset (no user or date)
Luke Plant
transplant: fix crash if filter script munges log file...
r13789 [255]
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Nicolas Dumazet
tests: unify test-transplant
r11800
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #endif
Nicolas Dumazet
tests: unify test-transplant
r11800 test with a win32ext like setup (differing EOLs)
$ hg init twin1
$ cd twin1
$ echo a > a
$ echo b > b
$ echo b >> b
$ hg ci -Am t
adding a
adding b
$ echo a > b
$ echo b >> b
$ hg ci -m changeb
$ cd ..
$ hg init twin2
$ cd twin2
$ echo '[patch]' >> .hg/hgrc
$ echo 'eol = crlf' >> .hg/hgrc
$ python -c "file('b', 'wb').write('b\r\nb\r\n')"
Patrick Mezard
test-transplant: fix missing file addition
r14012 $ hg ci -Am addb
adding b
Nicolas Dumazet
tests: unify test-transplant
r11800 $ hg transplant -s ../twin1 tip
Patrick Mezard
test-transplant: fix missing file addition
r14012 searching for changes
warning: repository is unrelated
Nicolas Dumazet
tests: unify test-transplant
r11800 applying 2e849d776c17
Patrick Mezard
test-transplant: fix missing file addition
r14012 2e849d776c17 transplanted to 8e65bebc063e
Mads Kiilerich
tests: use (esc) instead of other kinds of string escaping
r12943 $ cat b
a\r (esc)
b\r (esc)
Nicolas Dumazet
tests: unify test-transplant
r11800 $ cd ..
Steven Stallion
transplant: permit merge changesets via --parent...
r16400
test transplant with merge changeset is skipped
$ hg init merge1a
$ cd merge1a
$ echo a > a
$ hg ci -Am a
adding a
$ hg branch b
marked working directory as branch b
(branches are permanent and global, did you want a bookmark?)
$ hg ci -m branchb
$ echo b > b
$ hg ci -Am b
adding b
$ hg update default
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg merge b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m mergeb
$ cd ..
$ hg init merge1b
$ cd merge1b
$ hg transplant -s ../merge1a tip
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Steven Stallion
transplant: permit merge changesets via --parent...
r16400
test transplant with merge changeset accepts --parent
$ hg init merge2a
$ cd merge2a
$ echo a > a
$ hg ci -Am a
adding a
$ hg branch b
marked working directory as branch b
(branches are permanent and global, did you want a bookmark?)
$ hg ci -m branchb
$ echo b > b
$ hg ci -Am b
adding b
$ hg update default
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg merge b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m mergeb
$ cd ..
$ hg init merge2b
$ cd merge2b
$ hg transplant -s ../merge2a --parent 0 tip
applying be9f9b39483f
be9f9b39483f transplanted to 9959e51f94d1
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..