##// END OF EJS Templates
config: update evolution-related config...
config: update evolution-related config Update the evolution helpers function to support both old-style configuration and new-style configuration: experimental.evolution=all is renamed into experimental.evolution=true experimental.evolution=createmarkers is renamed into experimental.evolution.createmarkers=true experimental.evolution=allowunstable is renamed into experimental.evolution.allowunstable=true experimental.evolution=exchange is renamed into experimental.evolution.exchange=true We choose to not rename individual config options; keeping the same names would easy the transition for users but it's something that could be easily done in the future. Differential Revision: https://phab.mercurial-scm.org/D1147

File last commit:

r34662:eb586ed5 default
r34865:fec79a3f default
Show More
test-rebase-conflicts.t
430 lines | 10.8 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-conflicts.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
Pierre-Yves David
test: use generaldelta in 'test-rebase-conflict.t'...
r26922 > [format]
> usegeneraldelta=yes
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [extensions]
> rebase=
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 > drawdag=$TESTDIR/drawdag.py
Adrian Buehlmann
tests: unify test-rebase*
r12608 >
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [alias]
Durham Goode
rebase: restore active bookmark after rebase --continue...
r18755 > tglog = log -G --template "{rev}:{phase} '{desc}' {branches} {bookmarks}\n"
Adrian Buehlmann
tests: unify test-rebase*
r12608 > EOF
$ hg init a
$ cd a
$ echo c1 >common
$ hg add common
$ hg ci -m C1
$ echo c2 >>common
$ hg ci -m C2
$ echo c3 >>common
$ hg ci -m C3
$ hg up -q -C 1
$ echo l1 >>extra
$ hg add extra
$ hg ci -m L1
created new head
$ sed -e 's/c2/l2/' common > common.new
$ mv common.new common
$ hg ci -m L2
$ echo l3 >> extra2
$ hg add extra2
$ hg ci -m L3
Durham Goode
rebase: restore active bookmark after rebase --continue...
r18755 $ hg bookmark mybook
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 4
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ hg tglog
Durham Goode
rebase: restore active bookmark after rebase --continue...
r18755 @ 5:secret 'L3' mybook
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 4:secret 'L2'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 3:draft 'L1'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 2:draft 'C3'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 1:draft 'C2'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'C1'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Try to call --continue:
$ hg rebase --continue
abort: no rebase in progress
[255]
Conflicting rebase:
$ hg rebase -s 3 -d 2
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3163e20567cc "L1"
rebasing 4:46f0b057b5c0 "L2"
Adrian Buehlmann
tests: unify test-rebase*
r12608 merging common
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging common! (edit, then use 'hg resolve --mark')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 unresolved conflicts (see hg resolve, then hg rebase --continue)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
Pulkit Goyal
morestatus: move fb extension to core by plugging to `hg status --verbose`...
r33766 $ hg status --config commands.status.verbose=1
M common
? common.orig
# The repository is in an unfinished *rebase* state.
# Unresolved merge conflicts:
#
# common
#
# To mark files as resolved: hg resolve --mark FILE
# To continue: hg rebase --continue
# To abort: hg rebase --abort
Adrian Buehlmann
tests: unify test-rebase*
r12608 Try to continue without solving the conflict:
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg rebase --continue
timeless
localrepo: use single quotes in use warning
r29975 abort: unresolved merge conflicts (see 'hg help resolve')
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Conclude rebase:
$ echo 'resolved merge' >common
$ hg resolve -m common
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
rebase: hook afterresolvedstates
r27626 continue: hg rebase --continue
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ hg rebase --continue
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 already rebased 3:3163e20567cc "L1" as 3e046f2ecedb
rebasing 4:46f0b057b5c0 "L2"
rebasing 5:8029388f38dc "L3" (mybook)
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/a/.hg/strip-backup/3163e20567cc-5ca4656e-rebase.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Durham Goode
rebase: restore active bookmark after rebase --continue...
r18755 @ 5:secret 'L3' mybook
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 4:secret 'L2'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 3:draft 'L1'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 2:draft 'C3'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 1:draft 'C2'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'C1'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Check correctness:
$ hg cat -r 0 common
c1
$ hg cat -r 1 common
c1
c2
$ hg cat -r 2 common
c1
c2
c3
$ hg cat -r 3 common
c1
c2
c3
$ hg cat -r 4 common
resolved merge
$ hg cat -r 5 common
resolved merge
Durham Goode
rebase: restore active bookmark after rebase --continue...
r18755 Bookmark stays active after --continue
$ hg bookmarks
* mybook 5:d67b21408fc0
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969
Check that the right ancestors is used while rebasing a merge (issue4041)
$ hg clone "$TESTDIR/bundles/issue4041.hg" issue4041
requesting all changes
adding changesets
adding manifests
adding file changes
added 11 changesets with 8 changes to 3 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 24797d4f68de:2f2496ddf49d
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd issue4041
$ hg log -G
o changeset: 10:2f2496ddf49d
|\ branch: f1
| | tag: tip
| | parent: 7:4c9fbe56a16f
| | parent: 9:e31216eec445
| | user: szhang
| | date: Thu Sep 05 12:59:39 2013 -0400
| | summary: merge
| |
| o changeset: 9:e31216eec445
| | branch: f1
| | user: szhang
| | date: Thu Sep 05 12:59:10 2013 -0400
| | summary: more changes to f1
| |
| o changeset: 8:8e4e2c1a07ae
| |\ branch: f1
| | | parent: 2:4bc80088dc6b
| | | parent: 6:400110238667
| | | user: szhang
| | | date: Thu Sep 05 12:57:59 2013 -0400
| | | summary: bad merge
| | |
o | | changeset: 7:4c9fbe56a16f
|/ / branch: f1
| | parent: 2:4bc80088dc6b
| | user: szhang
| | date: Thu Sep 05 12:54:00 2013 -0400
| | summary: changed f1
| |
| o changeset: 6:400110238667
| | branch: f2
| | parent: 4:12e8ec6bb010
| | user: szhang
| | date: Tue Sep 03 13:58:02 2013 -0400
| | summary: changed f2 on f2
| |
| | @ changeset: 5:d79e2059b5c0
| | | parent: 3:8a951942e016
| | | user: szhang
| | | date: Tue Sep 03 13:57:39 2013 -0400
| | | summary: changed f2 on default
| | |
| o | changeset: 4:12e8ec6bb010
| |/ branch: f2
| | user: szhang
| | date: Tue Sep 03 13:57:18 2013 -0400
| | summary: created f2 branch
| |
| o changeset: 3:8a951942e016
| | parent: 0:24797d4f68de
| | user: szhang
| | date: Tue Sep 03 13:57:11 2013 -0400
| | summary: added f2.txt
| |
o | changeset: 2:4bc80088dc6b
| | branch: f1
| | user: szhang
| | date: Tue Sep 03 13:56:20 2013 -0400
| | summary: added f1.txt
| |
o | changeset: 1:ef53c9e6b608
|/ branch: f1
| user: szhang
| date: Tue Sep 03 13:55:26 2013 -0400
| summary: created f1 branch
|
o changeset: 0:24797d4f68de
user: szhang
date: Tue Sep 03 13:55:08 2013 -0400
summary: added default.txt
$ hg rebase -s9 -d2 --debug # use debug to really check merge base used
Martin von Zweigbergk
rebase: make debug logging more consistent...
r29936 rebase onto 4bc80088dc6b starting from e31216eec445
Durham Goode
rebase: allow aborting if last-message.txt is missing...
r31225 rebase status stored
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 9:e31216eec445 "more changes to f1"
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 future parents are 2 and -1
rebase: backed out changeset cf8ad0e6c0e4 (issue5610)...
r33136 rebase status stored
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 update to 2:4bc80088dc6b
resolving manifests
branchmerge: False, force: True, partial: False
ancestor: d79e2059b5c0+, local: d79e2059b5c0+, remote: 4bc80088dc6b
f2.txt: other deleted -> r
removing f2.txt
Mads Kiilerich
merge: change debug logging - test output changes but no real changes...
r21391 f1.txt: remote created -> g
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 getting f1.txt
merge against 9:e31216eec445
detach base 8:8e4e2c1a07ae
searching for copies back to rev 3
Gábor Stefanik
mergecopies: invoke _computenonoverlap for both base and tca during merges...
r30197 unmatched files in other (from topological common ancestor):
f2.txt
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 resolving manifests
branchmerge: True, force: True, partial: False
ancestor: 8e4e2c1a07ae, local: 4bc80088dc6b+, remote: e31216eec445
f1.txt: remote is newer -> g
getting f1.txt
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 f1.txt
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Martin von Zweigbergk
merge with stable
r33140 updating the branch cache
Mads Kiilerich
rebase: improve debug messages while processing the list of rebases
r23519 rebased as 19c888675e13
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 10:2f2496ddf49d "merge" (tip)
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 future parents are 11 and 7
rebase: backed out changeset cf8ad0e6c0e4 (issue5610)...
r33136 rebase status stored
Martin von Zweigbergk
rebase: rename "target" to "destination" in messages...
r32249 already in destination
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 merge against 10:2f2496ddf49d
detach base 9:e31216eec445
searching for copies back to rev 3
Gábor Stefanik
mergecopies: invoke _computenonoverlap for both base and tca during merges...
r30197 unmatched files in other (from topological common ancestor):
f2.txt
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 resolving manifests
branchmerge: True, force: True, partial: False
ancestor: e31216eec445, local: 19c888675e13+, remote: 2f2496ddf49d
f1.txt: remote is newer -> g
getting f1.txt
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 f1.txt
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
Martin von Zweigbergk
merge with stable
r33140 updating the branch cache
Mads Kiilerich
rebase: improve debug messages while processing the list of rebases
r23519 rebased as 2a7f09cac94c
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 rebase merging completed
update back to initial working directory parent
resolving manifests
branchmerge: False, force: False, partial: False
ancestor: 2a7f09cac94c, local: 2a7f09cac94c+, remote: d79e2059b5c0
f1.txt: other deleted -> r
removing f1.txt
Mads Kiilerich
merge: change debug logging - test output changes but no real changes...
r21391 f2.txt: remote created -> g
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 getting f2.txt
Pierre-Yves David
changegroup: properly compute common base in changeggroupsubset (issue4736)...
r25677 2 changesets found
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 list of changesets:
e31216eec445e44352c5f01588856059466a24c9
2f2496ddf49d69b5ef23ad8cf9fb2e0e4faf0ac2
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-bundle: "HG20", (1 params) 2 parts total
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-part: "phase-heads" 24 bytes payload
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/issue4041/.hg/strip-backup/e31216eec445-15f7a814-rebase.hg (glob)
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 3 changesets found
list of changesets:
4c9fbe56a16f30c0d5dcc40ec1a97bbe3325209c
19c888675e133ab5dff84516926a65672eaf04d9
2a7f09cac94c7f4b73ebd5cd1a62d3b2e8e336bf
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-bundle: "HG20", 2 parts total
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-part: "phase-heads" 24 bytes payload
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 adding branch
Pierre-Yves David
test: use generaldelta in 'test-rebase-conflict.t'...
r26922 bundle2-input-bundle: with-transaction
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 adding changesets
add changeset 4c9fbe56a16f
add changeset 19c888675e13
add changeset 2a7f09cac94c
adding manifests
adding file changes
adding f1.txt revisions
added 2 changesets with 2 changes to 1 files
Pierre-Yves David
changegroup: skip delta when the underlying revlog do not use them...
r30211 bundle2-input-part: total payload size 1686
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-input-part: "phase-heads" supported
bundle2-input-part: total payload size 24
bundle2-input-bundle: 1 parts total
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Pierre-Yves David
rebase: fix selection of base used when rebasing merge (issue4041)...
r19969 invalid branchheads cache (served): tip differs
rebase completed
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072
Test minimization of merge conflicts
$ hg up -q null
$ echo a > a
$ hg add a
$ hg commit -q -m 'a'
$ echo b >> a
$ hg commit -q -m 'ab'
$ hg bookmark ab
$ hg up -q '.^'
$ echo b >> a
$ echo c >> a
$ hg commit -q -m 'abc'
$ hg rebase -s 7bc217434fc1 -d ab --keep
rebasing 13:7bc217434fc1 "abc" (tip)
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg diff
diff -r 328e4ab1f7cc a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a * (glob)
@@ -1,2 +1,6 @@
a
b
Kostia Balytskyi
conflicts: make spacing consistent in conflict markers...
r30460 +<<<<<<< dest: 328e4ab1f7cc ab - test: ab
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 +=======
+c
+>>>>>>> source: 7bc217434fc1 - test: abc
$ hg rebase --abort
rebase aborted
$ hg up -q -C 7bc217434fc1
$ hg rebase -s . -d ab --keep -t internal:merge3
rebasing 13:7bc217434fc1 "abc" (tip)
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg diff
diff -r 328e4ab1f7cc a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a * (glob)
@@ -1,2 +1,8 @@
a
Kostia Balytskyi
conflicts: make spacing consistent in conflict markers...
r30460 +<<<<<<< dest: 328e4ab1f7cc ab - test: ab
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 b
+||||||| base
+=======
+b
+c
+>>>>>>> source: 7bc217434fc1 - test: abc
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034
Test rebase with obsstore turned on and off (issue5606)
$ cd $TESTTMP
$ hg init b
$ cd b
$ hg debugdrawdag <<'EOS'
> D
> |
> C
> |
> B E
> |/
> A
> EOS
$ hg update E -q
$ echo 3 > B
$ hg commit --amend -m E -A B -q
Boris Feld
test: update evolution config...
r33768 $ hg rebase -r B+D -d . --config experimental.stabilization=all
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 rebasing 1:112478962961 "B" (B)
merging B
warning: conflicts while merging B! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ echo 4 > B
$ hg resolve -m
(no more unresolved files)
continue: hg rebase --continue
Boris Feld
test: update evolution config...
r33768 $ hg rebase --continue --config experimental.stabilization=none
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 rebasing 1:112478962961 "B" (B)
rebasing 3:f585351a92f8 "D" (D)
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 warning: orphaned descendants detected, not stripping 112478962961
saved backup bundle to $TESTTMP/b/.hg/strip-backup/f585351a92f8-e536a9e4-rebase.hg (glob)
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034
$ rm .hg/localtags
$ hg tglog
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 o 5:draft 'D'
|
o 4:draft 'B'
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 |
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 @ 3:draft 'E'
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 |
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 | o 2:draft 'C'
| |
| o 1:draft 'B'
|/
Jun Wu
test-rebase-conflicts: add a test case about turning obsstore on and off...
r33034 o 0:draft 'A'