##// END OF EJS Templates
largefiles: access to specific fields only if largefiles enabled (issue4547)...
largefiles: access to specific fields only if largefiles enabled (issue4547) Even if largefiles extension is enabled in a repository, "repo" object, which isn't "largefiles.reposetup()"-ed, is passed to overridden functions in the cases below unexpectedly, because extensions are enabled for each repositories strictly. (1) clone without -U: (2) pull with -U: (3) pull with --rebase: combination of "enabled@src", "disabled@dst" and "not-required@src" cause this situation. largefiles requirement @src @dst @src result -------- -------- --------------- -------------------- enabled disabled not-required aborted unexpectedly required requirement error (intentional) -------- -------- --------------- -------------------- enabled enabled * success -------- -------- --------------- -------------------- disabled enabled * success (only for "pull") -------- -------- --------------- -------------------- disabled disabled not-required success required requirement error (intentional) -------- -------- --------------- -------------------- (4) update/revert with a subrepo disabling largefiles In these cases, overridden functions cause accessing to largefiles specific fields of not "largefiles.reposetup()"-ed "repo" object, and execution is aborted. - (1), (2), (4) cause accessing to "_lfstatuswriters" in "getstatuswriter()" invoked via "updatelfiles()" - (3) causes accessing to "_lfcommithooks" in "overriderebase()" For safe accessing to these fields, this patch examines whether passed "repo" object is "largefiles.reposetup()"-ed or not before accessing to them. This patch chooses examining existence of newly introduced "_largefilesenabled" instead of "_lfcommithooks" and "_lfstatuswriters" directly, because the former is better name for the generic "largefiles is enabled in this repo" mark than the latter. In the future, all other overridden functions should avoid largefiles specific processing for efficiency, and "_largefilesenabled" is better also for such purpose. BTW, "lfstatus" can't be used for such purpose, because some code paths set it forcibly regardless of existence of it in specified "repo" object.

File last commit:

r23835:aa4a1672 default
r24158:d414c28d stable
Show More
test-rebase-collapse.t
831 lines | 14.9 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-collapse.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013 > mq=
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]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 > tglogp = log -G --template "{rev}:{phase} '{desc}' {branches}\n"
Adrian Buehlmann
tests: unify test-rebase*
r12608 > EOF
Create repo a:
$ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+2 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
@ 7: 'H'
|
| o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
$ cd ..
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 Rebasing B onto H and collapsing changesets with different phases:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u 3 a a1
$ cd a1
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 3
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 $ cat > $TESTTMP/editor.sh <<EOF
> echo "==== before editing"
> cat \$1
> echo "===="
> echo "edited manually" >> \$1
> EOF
$ HGEDITOR="sh $TESTTMP/editor.sh" hg rebase --collapse --keepbranches -e
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 1:42ccdea3bb16 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:5fddd98957c8 "C"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 2:5fddd98957c8 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:32af7686d403 "D"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 3:32af7686d403 created no changes to commit
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 ==== before editing
Collapsed revision
* B
* C
* D
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: Nicolas Dumazet <nicdumz.commits@gmail.com>
HG: branch 'default'
Matt Mackall
dirstate: properly clean-up some more merge state on setparents
r22895 HG: added B
HG: added C
HG: added D
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 ====
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg tglogp
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 @ 5:secret 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * B
| * C
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 | * D
|
|
| edited manually'
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 o 4:draft 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 3:draft 'G'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/|
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o | 2:draft 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 1:draft 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
B
C
D
F
H
$ cd ..
Pierre-Yves David
rebase: use revset as soon as possible in internal logic...
r15267 Rebasing E onto H:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a2
$ cd a2
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 6
Pierre-Yves David
rebase: use revset as soon as possible in internal logic...
r15267 $ hg rebase --source 4 --collapse
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 4:9520eea781bc "E"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 4:9520eea781bc created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 6:eea13746799a "G"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 6:eea13746799a created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-fcd8edd4-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 6: 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * E
| * G'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
o 4: 'F'
|
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
E
F
H
$ cd ..
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 Rebasing G onto H with custom message:
$ hg clone -q -u . a a3
$ cd a3
$ hg rebase --base 6 -m 'custom message'
abort: message can only be specified with collapse
[255]
FUJIWARA Katsunori
rebase: use "rebase.collapse" as "editform" for "--collapse" always...
r22206 $ cat > $TESTTMP/checkeditform.sh <<EOF
> env | grep HGEDITFORM
> true
> EOF
$ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --source 4 --collapse -m 'custom message' -e
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 4:9520eea781bc "E"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 4:9520eea781bc created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 6:eea13746799a "G"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 6:eea13746799a created no changes to commit
FUJIWARA Katsunori
rebase: use "rebase.collapse" as "editform" for "--collapse" always...
r22206 HGEDITFORM=rebase.collapse
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-backup.hg (glob)
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 6: 'custom message'
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5: 'H'
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 |
o 4: 'F'
|
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 A
E
F
H
$ cd ..
Adrian Buehlmann
tests: unify test-rebase*
r12608
Create repo b:
$ hg init b
$ cd b
$ echo A > A
$ hg ci -Am A
adding A
$ echo B > B
$ hg ci -Am B
adding B
$ hg up -q 0
$ echo C > C
$ hg ci -Am C
adding C
created new head
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ echo D > D
$ hg ci -Am D
adding D
$ hg up -q 1
$ echo E > E
$ hg ci -Am E
adding E
created new head
$ echo F > F
$ hg ci -Am F
adding F
$ hg merge
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m G
$ hg up -q 0
$ echo H > H
$ hg ci -Am H
adding H
created new head
$ hg tglog
@ 7: 'H'
|
| o 6: 'G'
| |\
| | o 5: 'F'
| | |
| | o 4: 'E'
| | |
| o | 3: 'D'
| |\|
| o | 2: 'C'
|/ /
| o 1: 'B'
|/
o 0: 'A'
$ cd ..
Rebase and collapse - more than one external (fail):
$ hg clone -q -u . b b1
$ cd b1
$ hg rebase -s 2 --collapse
Mads Kiilerich
rebase: improve error message for more than one external parent
r19956 abort: unable to collapse on top of 7, there is more than one external parent: 1, 5
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Rebase and collapse - E onto H:
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 4 --collapse # root (4) is not a merge
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 4:8a5212ebc852 "E"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 4:8a5212ebc852 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:7f219660301f "F"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 5:7f219660301f created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 6:c772a8b2dc17 "G"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 6:c772a8b2dc17 created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-75046b61-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 5: 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 |\ * E
| | * F
| | * G'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
o | 3: 'D'
|\ \
| o | 2: 'C'
| |/
o / 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
C
D
E
F
H
$ cd ..
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Test that branchheads cache is updated correctly when doing a strip in which
Pierre-Yves David
destroyed: drop complex branchcache rebuilt logic...
r18395 the parent of the ancestor node to be stripped does not become a head and also,
the parent of a node that is a child of the node stripped becomes a head (node
3). The code is now much simpler and we could just test a simpler scenario
We keep it the test this way in case new complexity is injected.
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg clone -q -u . b b2
$ cd b2
$ hg heads --template="{rev}:{node} {branch}\n"
7:c65502d4178782309ce0574c5ae6ee9485a9bafa default
6:c772a8b2dc17629cec88a19d09c926c4814b12c7 default
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 $ cat $TESTTMP/b2/.hg/cache/branch2-served
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013 c65502d4178782309ce0574c5ae6ee9485a9bafa 7
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 c772a8b2dc17629cec88a19d09c926c4814b12c7 o default
c65502d4178782309ce0574c5ae6ee9485a9bafa o default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg strip 4
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/b2/.hg/strip-backup/8a5212ebc852-75046b61-backup.hg (glob)
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 $ cat $TESTTMP/b2/.hg/cache/branch2-served
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013 c65502d4178782309ce0574c5ae6ee9485a9bafa 4
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 2870ad076e541e714f3c2bc32826b5c6a6e5b040 o default
c65502d4178782309ce0574c5ae6ee9485a9bafa o default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg heads --template="{rev}:{node} {branch}\n"
4:c65502d4178782309ce0574c5ae6ee9485a9bafa default
3:2870ad076e541e714f3c2bc32826b5c6a6e5b040 default
$ cd ..
Adrian Buehlmann
tests: unify test-rebase*
r12608 Create repo c:
$ hg init c
$ cd c
$ echo A > A
$ hg ci -Am A
adding A
$ echo B > B
$ hg ci -Am B
adding B
$ hg up -q 0
$ echo C > C
$ hg ci -Am C
adding C
created new head
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ echo D > D
$ hg ci -Am D
adding D
$ hg up -q 1
$ echo E > E
$ hg ci -Am E
adding E
created new head
$ echo F > E
$ hg ci -m 'F'
$ echo G > G
$ hg ci -Am G
adding G
$ hg merge
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m H
$ hg up -q 0
$ echo I > I
$ hg ci -Am I
adding I
created new head
$ hg tglog
@ 8: 'I'
|
| o 7: 'H'
| |\
| | o 6: 'G'
| | |
| | o 5: 'F'
| | |
| | o 4: 'E'
| | |
| o | 3: 'D'
| |\|
| o | 2: 'C'
|/ /
| o 1: 'B'
|/
o 0: 'A'
$ cd ..
Rebase and collapse - E onto I:
$ hg clone -q -u . c c1
$ cd c1
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 4 --collapse # root (4) is not a merge
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 4:8a5212ebc852 "E"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 4:8a5212ebc852 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:dca5924bb570 "F"
Adrian Buehlmann
tests: unify test-rebase*
r12608 merging E
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 5:dca5924bb570 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 6:55a44ad28289 "G"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 6:55a44ad28289 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 7:417d3b648079 "H"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 7:417d3b648079 created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-f95d0879-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 5: 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 |\ * E
| | * F
| | * G
| | * H'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 4: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
o | 3: 'D'
|\ \
| o | 2: 'C'
| |/
o / 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
C
D
E
G
I
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat E
F
$ cd ..
Create repo d:
$ hg init d
$ cd d
$ echo A > A
$ hg ci -Am A
adding A
$ echo B > B
$ hg ci -Am B
adding B
$ echo C > C
$ hg ci -Am C
adding C
$ hg up -q 1
$ echo D > D
$ hg ci -Am D
adding D
created new head
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m E
$ hg up -q 0
$ echo F > F
$ hg ci -Am F
adding F
created new head
$ hg tglog
@ 5: 'F'
|
| o 4: 'E'
| |\
| | o 3: 'D'
| | |
| o | 2: 'C'
| |/
| o 1: 'B'
|/
o 0: 'A'
$ cd ..
Rebase and collapse - B onto F:
$ hg clone -q -u . d d1
$ cd d1
$ hg rebase -s 1 --collapse
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:27547f69f254 "B"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 1:27547f69f254 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:f838bfaca5c7 "C"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 2:f838bfaca5c7 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:7bbcd6078bcc "D"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 3:7bbcd6078bcc created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 4:0a42590ed746 "E"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 4:0a42590ed746 created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-9a3f7d92-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 2: 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * B
| * C
| * D
| * E'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 1: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
B
C
D
F
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 Interactions between collapse and keepbranches
$ cd ..
$ hg init e
$ cd e
$ echo 'a' > a
$ hg ci -Am 'A'
adding a
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 $ hg branch 'one'
marked working directory as branch one
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 $ echo 'b' > b
$ hg ci -Am 'B'
adding b
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 $ hg branch 'two'
marked working directory as branch two
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 $ echo 'c' > c
$ hg ci -Am 'C'
adding c
$ hg up -q 0
$ echo 'd' > d
$ hg ci -Am 'D'
adding d
$ hg tglog
@ 3: 'D'
|
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 2: 'C' two
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 | |
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 1: 'B' one
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 |/
o 0: 'A'
$ hg rebase --keepbranches --collapse -s 1 -d 3
abort: cannot collapse multiple named branches
[255]
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 $ repeatchange() {
> hg checkout $1
> hg cp d z
> echo blah >> z
> hg commit -Am "$2" --user "$3"
> }
$ repeatchange 3 "E" "user1"
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ repeatchange 3 "E" "user2"
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
$ hg tglog
@ 5: 'E'
|
| o 4: 'E'
|/
o 3: 'D'
|
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 2: 'C' two
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 | |
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 1: 'B' one
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |/
o 0: 'A'
$ hg rebase -s 5 -d 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:fbfb97b1089a "E" (tip)
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 5:fbfb97b1089a created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-backup.hg (glob)
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 $ hg tglog
@ 4: 'E'
|
o 3: 'D'
|
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 2: 'C' two
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 | |
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 | o 1: 'B' one
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |/
o 0: 'A'
$ hg export tip
# HG changeset patch
# User user1
# Date 0 0
Mads Kiilerich
export: show 'Date' header in a format that also is readable for humans...
r18648 # Thu Jan 01 00:00:00 1970 +0000
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 # Node ID f338eb3c2c7cc5b5915676a2376ba7ac558c5213
# Parent 41acb9dca9eb976e84cd21fcb756b4afa5a35c09
E
diff -r 41acb9dca9eb -r f338eb3c2c7c z
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/z Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,2 @@
+d
+blah
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551
$ cd ..
Rebase, collapse and copies
$ hg init copies
$ cd copies
$ hg unbundle "$TESTDIR/bundles/renames.hg"
adding changesets
adding manifests
adding file changes
added 4 changesets with 11 changes to 7 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up -q tip
$ hg tglog
@ 3: 'move2'
|
o 2: 'move1'
|
| o 1: 'change'
|/
o 0: 'add'
$ hg rebase --collapse -d 1
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:6e7340ee38c0 "move1"
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 merging a and d to d
merging b and e to e
merging c and f to f
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 2:6e7340ee38c0 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:338e84e2e558 "move2" (tip)
Mads Kiilerich
merge: keep destination filename as key in filemerge actions...
r20945 merging f and c to c
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 merging e and g to g
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 3:338e84e2e558 created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-ef8ef003-backup.hg (glob)
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ hg st
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg st --copies --change tip
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 A d
a
A g
b
R b
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ cat c
c
c
$ cat d
a
a
$ cat g
b
b
$ hg log -r . --template "{file_copies}\n"
d (a)g (b)
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696
Test collapsing a middle revision in-place
$ hg tglog
@ 2: 'Collapsed revision
| * move1
| * move2'
o 1: 'change'
|
o 0: 'add'
$ hg rebase --collapse -r 1 -d 0
abort: can't remove original changesets with unrebased descendants
(use --keep to keep original changesets)
[255]
Test collapsing in place
$ hg rebase --collapse -b . -d 0
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:1352765a01d4 "change"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 1:1352765a01d4 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:64b456429f67 "Collapsed revision" (tip)
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 2:64b456429f67 created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-45a352ea-backup.hg (glob)
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg st --change tip --copies
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 M a
M c
A d
a
A g
b
R b
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 $ cat a
a
a
$ cat c
c
c
$ cat d
a
a
$ cat g
b
b
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ cd ..
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Test stripping a revision with another child
$ hg init f
$ cd f
$ echo A > A
$ hg ci -Am A
adding A
$ echo B > B
$ hg ci -Am B
adding B
$ hg up -q 0
$ echo C > C
$ hg ci -Am C
adding C
created new head
$ hg tglog
@ 2: 'C'
|
| o 1: 'B'
|/
o 0: 'A'
$ hg heads --template="{rev}:{node} {branch}: {desc}\n"
2:c5cefa58fd557f84b72b87f970135984337acbc5 default: C
1:27547f69f25460a52fff66ad004e58da7ad3fb56 default: B
$ hg strip 2
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/f/.hg/strip-backup/c5cefa58fd55-629429f4-backup.hg (glob)
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg tglog
o 1: 'B'
|
@ 0: 'A'
$ hg heads --template="{rev}:{node} {branch}: {desc}\n"
1:27547f69f25460a52fff66ad004e58da7ad3fb56 default: B
$ cd ..
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 Test collapsing changes that add then remove a file
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ hg init collapseaddremove
$ cd collapseaddremove
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ touch base
$ hg commit -Am base
adding base
$ touch a
$ hg commit -Am a
adding a
$ hg rm a
$ touch b
$ hg commit -Am b
adding b
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 $ hg book foo
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ hg rebase -d 0 -r "1::2" --collapse -m collapsed
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6d8d9f24eec3 "a"
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 1:6d8d9f24eec3 created no changes to commit
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:1cc73eca5ecc "b" (tip foo)
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 2:1cc73eca5ecc created no changes to commit
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-77d3b6e2-backup.hg (glob)
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 $ hg log -G --template "{rev}: '{desc}' {bookmarks}"
@ 1: 'collapsed' foo
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 |
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 o 0: 'base'
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 b
base
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ cd ..