##// END OF EJS Templates
wireprotov2: define and implement "manifestdata" command...
wireprotov2: define and implement "manifestdata" command The added command can be used for obtaining manifest data. Given a manifest path and set of manifest nodes, data about manifests can be retrieved. Unlike changeset data, we wish to emit deltas to describe manifest revisions. So the command uses the relatively new API for building delta requests and emitting them. The code calls into deltaparent(), which I'm not very keen of. There's still work to be done in delta generation land so implementation details of storage (e.g. exactly one delta is stored/available) don't creep into higher levels. But we can worry about this later (there is already a TODO on imanifestorage tracking this). On the subject of parent deltas, the server assumes parent revisions exist on the receiving end. This is obviously wrong for shallow clone. I've added TODOs to add a mechanism to the command to allow clients to specify desired behavior. This shouldn't be too difficult to implement. Another big change is that the client must explicitly request manifest nodes to retrieve. This is a major departure from "getbundle," where the server derives relevant manifests as it iterates changesets and sends them automatically. As implemented, the client must transmit each requested node to the server. At 20 bytes per node, we're looking at 2 MB per 100,000 nodes. Plus wire encoding overhead. This isn't ideal for clients with limited upload bandwidth. I plan to address this in the future by allowing alternate mechanisms for defining the revisions to retrieve. One idea is to define a range of changeset revisions whose manifest revisions to retrieve (similar to how "changesetdata" works). We almost certainly want an API to look up an individual manifest by node. And that's where I've chosen to start with the implementation. Again, a theme of this early exchangev2 work is I want to start by building primitives for accessing raw repository data first and see how far we can get with those before we need more complexity. Differential Revision: https://phab.mercurial-scm.org/D4488

File last commit:

r39516:89630d0b default
r39673:c7a7c7e8 default
Show More
test-rebase-named-branches.t
410 lines | 9.1 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-named-branches.t
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 > [alias]
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 > EOF
$ 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: introduce a rebase bundle to use with rebase tests...
r14118 adding changesets
adding manifests
adding file changes
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 added 8 changesets with 7 changes to 7 files (+2 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets cd010b8cd998:02de42196ebe (8 drafts)
Nicolas Dumazet
tests: introduce a rebase bundle to use with rebase tests...
r14118 (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
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 $ cd ..
$ hg clone -q -u . a a1
$ cd a1
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 $ hg update 3
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg branch dev-one
marked working directory as branch dev-one
(branches are permanent and global, did you want a bookmark?)
$ hg ci -m 'dev-one named branch'
$ hg update 7
2 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ hg branch dev-two
marked working directory as branch dev-two
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
$ echo x > x
$ hg add x
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 $ hg ci -m 'dev-two named branch'
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 9: cb039b7cae8e 'dev-two named branch' dev-two
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 8: 643fc9128048 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 7: 02de42196ebe 'H'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 +---o 6: eea13746799a 'G'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | | 5: 24b6387c8c8c 'F'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 +---o 4: 9520eea781bc 'E'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 3: 32af7686d403 'D'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 5fddd98957c8 'C'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 42ccdea3bb16 'B'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
Branch name containing a dash (issue3181)
$ hg rebase -b dev-two -d dev-one --keepbranches
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:24b6387c8c8c "F"
rebasing 6:eea13746799a "G"
rebasing 7:02de42196ebe "H"
rebasing 9:cb039b7cae8e "dev-two named branch" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-24cb8001-rebase.hg
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 9: 9e70cd31750f 'dev-two named branch' dev-two
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: 31d0e4ba75e6 'H'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 7: 4b988a958030 'G'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 6: 24de4aff8e28 'F'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: 643fc9128048 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: 9520eea781bc 'E'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 32af7686d403 'D'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: 5fddd98957c8 'C'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 42ccdea3bb16 'B'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg rebase -s dev-one -d 0 --keepbranches
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:643fc9128048 "dev-one named branch"
rebasing 6:24de4aff8e28 "F"
rebasing 7:4b988a958030 "G"
rebasing 8:31d0e4ba75e6 "H"
rebasing 9:9e70cd31750f "dev-two named branch" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-c4ee9ef5-rebase.hg
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 9: 59c2e59309fe 'dev-two named branch' dev-two
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: 904590360559 'H'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 7: 1a1e6f72ec38 'G'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 6: 42aa3cf0fa7a 'F'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: bc8139ee757c 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: 9520eea781bc 'E'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 3: 32af7686d403 'D'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 5fddd98957c8 'C'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 42ccdea3bb16 'B'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg update 3
3 files updated, 0 files merged, 3 files removed, 0 files unresolved
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 $ hg branch -f dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 marked working directory as branch dev-one
$ hg ci -m 'dev-one named branch'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 created new head
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 10: 643fc9128048 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 9: 59c2e59309fe 'dev-two named branch' dev-two
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 8: 904590360559 'H'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | | o 7: 1a1e6f72ec38 'G'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o | 6: 42aa3cf0fa7a 'F'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o | 5: bc8139ee757c 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | | o 4: 9520eea781bc 'E'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 32af7686d403 'D'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: 5fddd98957c8 'C'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 42ccdea3bb16 'B'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg rebase -b 'max(branch("dev-two"))' -d dev-one --keepbranches
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 rebasing 5:bc8139ee757c "dev-one named branch"
note: rebase of 5:bc8139ee757c created no changes to commit
rebasing 6:42aa3cf0fa7a "F"
rebasing 7:1a1e6f72ec38 "G"
rebasing 8:904590360559 "H"
rebasing 9:59c2e59309fe "dev-two named branch"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/bc8139ee757c-f11c1080-rebase.hg
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 9: 71325f8bc082 'dev-two named branch' dev-two
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: 12b2bc666e20 'H'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 7: 549f007a9f5f 'G'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 6: 679f28760620 'F'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ | 5: 643fc9128048 'dev-one named branch' dev-one
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: 9520eea781bc 'E'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 32af7686d403 'D'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: 5fddd98957c8 'C'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 42ccdea3bb16 'B'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg rebase -s 'max(branch("dev-one"))' -d 0 --keepbranches
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:643fc9128048 "dev-one named branch"
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 rebasing 6:679f28760620 "F"
rebasing 7:549f007a9f5f "G"
rebasing 8:12b2bc666e20 "H"
rebasing 9:71325f8bc082 "dev-two named branch" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-6cdd1a52-rebase.hg
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 9: 3944801ae4ea 'dev-two named branch' dev-two
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: 8e279d293175 'H'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 7: aeefee77ab01 'G'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 6: e908b85f3729 'F'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ | 5: bc8139ee757c 'dev-one named branch' dev-one
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: 9520eea781bc 'E'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 3: 32af7686d403 'D'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 5fddd98957c8 'C'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 42ccdea3bb16 'B'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: cd010b8cd998 'A'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 $ hg up -r 0 > /dev/null
Nicolas Dumazet
tests: simplify test-rebase-named-branches...
r14120
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 Rebasing descendant onto ancestor across different named branches
Nicolas Dumazet
tests: simplify test-rebase-named-branches...
r14120
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 $ hg rebase -s 1 -d 9 --keepbranches
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 9: e9f862ce8bad 'D'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: a0d543090fa4 'C'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 7: 3bdb949809d9 'B'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 6: 3944801ae4ea 'dev-two named branch' dev-two
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 8e279d293175 'H'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: aeefee77ab01 'G'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: e908b85f3729 'F'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: bc8139ee757c 'dev-one named branch' dev-one
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 9520eea781bc 'E'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 0: cd010b8cd998 'A'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 $ hg rebase -s 5 -d 6
Jun Wu
rebase: sort destmap topologically...
r34008 abort: source and destination form a cycle
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 [255]
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 $ hg rebase -s 6 -d 5
rebasing 6:3944801ae4ea "dev-two named branch"
rebasing 7:3bdb949809d9 "B"
rebasing 8:a0d543090fa4 "C"
rebasing 9:e9f862ce8bad "D" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/3944801ae4ea-fb46ed74-rebase.hg
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 9: e522577ccdbd 'D'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 8: 810110211f50 'C'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 7: 160b0930ccc6 'B'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 6: c57724c84928 'dev-two named branch'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 8e279d293175 'H'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: aeefee77ab01 'G'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |/|
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: e908b85f3729 'F'
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: bc8139ee757c 'dev-one named branch' dev-one
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 9520eea781bc 'E'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 0: cd010b8cd998 'A'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
Mads Kiilerich
rebase: tell when reopening a closed branch head...
r21027
Reopen branch by rebase
$ hg up -qr3
$ hg branch -q b
$ hg ci -m 'create b'
$ hg ci -m 'close b' --close
$ hg rebase -b 8 -d b
timeless@mozdev.org
rebase: avoid losing branch commits with --keepbranch (issue4835)
r26360 reopening closed branch head 2b586e70108d
rebasing 5:8e279d293175 "H"
rebasing 6:c57724c84928 "dev-two named branch"
rebasing 7:160b0930ccc6 "B"
rebasing 8:810110211f50 "C"
rebasing 9:e522577ccdbd "D"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/8e279d293175-b023e27c-rebase.hg
Mads Kiilerich
rebase: tell when reopening a closed branch head...
r21027
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 $ cd ..
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
Rebase to other head on branch
Set up a case:
$ hg init case1
$ cd case1
$ touch f
$ hg ci -qAm0
$ hg branch -q b
$ echo >> f
$ hg ci -qAm 'b1'
$ hg up -qr -2
$ hg branch -qf b
$ hg ci -qm 'b2'
$ hg up -qr -3
$ hg branch -q c
$ hg ci -m 'c1'
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: c062e3ecd6c6 'c1' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 792845bb77ee 'b2' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 40039acb7ca5 'b1' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
$ hg clone -q . ../case2
rebase 'b2' to another lower branch head
$ hg up -qr 2
$ hg rebase
Pierre-Yves David
rebase: choose default destination the same way as 'hg merge' (BC)...
r28189 rebasing 2:792845bb77ee "b2"
note: rebase of 2:792845bb77ee created no changes to commit
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/case1/.hg/strip-backup/792845bb77ee-627120ee-rebase.hg
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: c062e3ecd6c6 'c1' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 1: 40039acb7ca5 'b1' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
rebase 'b1' on top of the tip of the branch ('b2') - ignoring the tip branch ('c1')
$ cd ../case2
$ hg up -qr 1
$ hg rebase
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:40039acb7ca5 "b1"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-342b72d1-rebase.hg
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 76abc1c6f8c7 'b1' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: c062e3ecd6c6 'c1' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 792845bb77ee 'b2' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
rebase 'c1' to the branch head 'c2' that is closed
$ hg branch -qf c
$ hg ci -qm 'c2 closed' --close
$ hg up -qr 2
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 _ 4: 8427af5d86f2 'c2 closed' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 76abc1c6f8c7 'b1' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 2: c062e3ecd6c6 'c1' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 792845bb77ee 'b2' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
$ hg rebase
Pierre-Yves David
rebase: choose default destination the same way as 'hg merge' (BC)...
r28189 abort: branch 'c' has one head - please rebase to an explicit rev
(run 'hg heads' to see all heads)
[255]
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 _ 4: 8427af5d86f2 'c2 closed' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 76abc1c6f8c7 'b1' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 2: c062e3ecd6c6 'c1' c
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 792845bb77ee 'b2' b
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380 $ hg up -cr 1
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg branch x
marked working directory as branch x
$ hg rebase -r 3:: -d .
rebasing 3:76abc1c6f8c7 "b1"
rebasing 4:8427af5d86f2 "c2 closed" (tip)
note: rebase of 4:8427af5d86f2 created no changes to commit
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-rebase.hg
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 117b0ed08075 'b1' x
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: c062e3ecd6c6 'c1' c
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ | 1: 792845bb77ee 'b2' b
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: d681519c3ea7 '0'
Mads Kiilerich
rebase: allow rebasing children of wd to wd if a new branch has been set (BC)...
r31380
Mads Kiilerich
tests: introduce test for rebasing on named branches with closed heads
r20251 $ cd ..