test-transplant.t
353 lines
| 7.7 KiB
| text/troff
|
Tads3Lexer
/ tests / test-transplant.t
Nicolas Dumazet
|
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 | ||||
$ 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 | ||||
remote transplant | ||||
$ hg clone -r 1 ../t ../remote | ||||
requesting all changes | ||||
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 | ||||
requesting all changes | ||||
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 | ||||
$ hg ci -Amfoo | ||||
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 | ||||
$ hg ci -Ambar | ||||
adding bar | ||||
$ echo bar2 >> bar | ||||
$ hg ci -mbar2 | ||||
$ hg up 0 | ||||
2 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
$ echo foobar > foo | ||||
$ hg ci -mfoobar | ||||
created new head | ||||
$ hg transplant 1:3 | ||||
applying a1e30dd1b8e7 | ||||
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
|
r12070 | abort: fix up the merge and run hg transplant --continue | ||
Nicolas Dumazet
|
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 | ||||
applying a1e30dd1b8e7 | ||||
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
|
r12070 | abort: fix up the merge and run hg transplant --continue | ||
Nicolas Dumazet
|
r11800 | $ hg transplant --continue | ||
a1e30dd1b8e7 transplanted as f1563cf27039 | ||||
$ hg transplant 1:3 | ||||
skipping already applied revision 1:a1e30dd1b8e7 | ||||
applying 1739ac5f6139 | ||||
1739ac5f6139 transplanted to d649c221319f | ||||
applying 0282d5fbbe02 | ||||
0282d5fbbe02 transplanted to 77418277ccb3 | ||||
$ hg locate | ||||
added | ||||
bar | ||||
foo | ||||
$ cd .. | ||||
Test transplant --merge (issue 1111) | ||||
test transplant merge | ||||
$ 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 | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 4 changesets with 4 changes to 4 files | ||||
$ cd .. | ||||
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 | ||||
filtering .* | ||||
applying 17ab29e464c6 | ||||
17ab29e464c6 transplanted to e9ffc54ea104 | ||||
filtering .* | ||||
applying 37a1297eb21b | ||||
37a1297eb21b transplanted to 348b36d0b6a5 | ||||
filtering .* | ||||
applying 722f4667af76 | ||||
722f4667af76 transplanted to 0aa6979afb95 | ||||
filtering .* | ||||
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
|
r12156 | $ hg ci -Am foo | ||
Nicolas Dumazet
|
r11800 | adding b1 | ||
adding test-filter | ||||
created new head | ||||
$ hg transplant 1 --filter ./test-filter | ||||
filtering .* | ||||
applying 348b36d0b6a5 | ||||
file b1 already exists | ||||
1 out of 1 hunks FAILED -- saving rejects to file b1.rej | ||||
patch failed to apply | ||||
Martin Geisler
|
r12070 | abort: fix up the merge and run hg transplant --continue | ||
Nicolas Dumazet
|
r11800 | $ cd .. | ||
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')" | ||||
$ hg ci -m addb | ||||
nothing changed | ||||
$ hg transplant -s ../twin1 tip | ||||
applying 2e849d776c17 | ||||
2e849d776c17 transplanted to 589cea8ba85b | ||||
$ python -c "print repr(file('b', 'rb').read())" | ||||
'a\r\nb\r\n' | ||||
$ cd .. | ||||