##// END OF EJS Templates
clfilter: prevent unwanted warning about filtered parents as unknown...
clfilter: prevent unwanted warning about filtered parents as unknown During changectx __init__ the dirstate's parents MAY be checked. If the repo is filtered, this check will complain "working directory has unknown parents" even if the parents are perfectly known. This may happen when the repo is used for serving and the dirstate has parents that are secret, as those secret changesets will be filtered.

File last commit:

r17132:b87acfda default
r18005:aba3c161 default
Show More
test-merge-commit.t
184 lines | 5.5 KiB | text/troff | Tads3Lexer
/ tests / test-merge-commit.t
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 Check that renames are correctly saved by a commit after a merge
Adrian Buehlmann
tests: unify test-merge-commit
r12254
Test with the merge on 3 having the rename on the local parent
$ hg init a
$ cd a
$ echo line1 > foo
$ hg add foo
$ hg ci -m '0: add foo'
$ echo line2 >> foo
$ hg ci -m '1: change foo'
$ hg up -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg mv foo bar
$ rm bar
$ echo line0 > bar
$ echo line1 >> bar
$ hg ci -m '2: mv foo bar; change bar'
created new head
$ hg merge 1
merging bar and foo to bar
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat bar
line0
line1
line2
$ hg ci -m '3: merge with local rename'
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 77 ..... 2 d35118874825 000000000000 000000000000 (re)
1 77 76 ..... 3 5345f5ab8abd 000000000000 d35118874825 (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
$ hg debugrename bar
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex foo
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 7 ..... 0 690b295714ae 000000000000 000000000000 (re)
1 7 13 ..... 1 9e25c27b8757 690b295714ae 000000000000 (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
Revert the content change from rev 2:
$ hg up -C 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm bar
$ echo line1 > bar
$ hg ci -m '4: revert content change from rev 2'
created new head
$ hg log --template '{rev}:{node|short} {parents}\n'
4:2263c1be0967 2:0f2ff26688b9
3:0555950ead28 2:0f2ff26688b9 1:5cd961e4045d
2:0f2ff26688b9 0:2665aaee66e9
1:5cd961e4045d
0:2665aaee66e9
This should use bar@rev2 as the ancestor:
$ hg --debug merge 3
searching for copies back to rev 1
resolving manifests
Martin Geisler
merge: make debug output easier to read...
r15625 overwrite: False, partial: False
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 0555950ead28
Adrian Buehlmann
tests: unify test-merge-commit
r12254 bar: versions differ -> m
preserving bar for resolve of bar
updating: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat bar
line1
line2
$ hg ci -m '5: merge'
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 77 ..... 2 d35118874825 000000000000 000000000000 (re)
1 77 76 ..... 3 5345f5ab8abd 000000000000 d35118874825 (re)
2 153 7 ..... 4 ff4b45017382 d35118874825 000000000000 (re)
3 160 13 ..... 5 3701b4893544 ff4b45017382 5345f5ab8abd (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
Same thing, but with the merge on 3 having the rename
on the remote parent:
$ cd ..
$ hg clone -U -r 1 -r 2 a b
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
$ cd b
$ hg up -C 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge 2
merging foo and bar to bar
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat bar
line0
line1
line2
$ hg ci -m '3: merge with remote rename'
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 77 ..... 2 d35118874825 000000000000 000000000000 (re)
1 77 76 ..... 3 5345f5ab8abd 000000000000 d35118874825 (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
$ hg debugrename bar
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex foo
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 7 ..... 0 690b295714ae 000000000000 000000000000 (re)
1 7 13 ..... 1 9e25c27b8757 690b295714ae 000000000000 (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
Revert the content change from rev 2:
$ hg up -C 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm bar
$ echo line1 > bar
$ hg ci -m '4: revert content change from rev 2'
created new head
$ hg log --template '{rev}:{node|short} {parents}\n'
4:2263c1be0967 2:0f2ff26688b9
3:3ffa6b9e35f0 1:5cd961e4045d 2:0f2ff26688b9
2:0f2ff26688b9 0:2665aaee66e9
1:5cd961e4045d
0:2665aaee66e9
This should use bar@rev2 as the ancestor:
$ hg --debug merge 3
searching for copies back to rev 1
resolving manifests
Martin Geisler
merge: make debug output easier to read...
r15625 overwrite: False, partial: False
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 3ffa6b9e35f0
Adrian Buehlmann
tests: unify test-merge-commit
r12254 bar: versions differ -> m
preserving bar for resolve of bar
updating: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat bar
line1
line2
$ hg ci -m '5: merge'
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 77 ..... 2 d35118874825 000000000000 000000000000 (re)
1 77 76 ..... 3 5345f5ab8abd 000000000000 d35118874825 (re)
2 153 7 ..... 4 ff4b45017382 d35118874825 000000000000 (re)
3 160 13 ..... 5 3701b4893544 ff4b45017382 5345f5ab8abd (re)
Adrian Buehlmann
tests: unify test-merge-commit
r12254
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..