##// END OF EJS Templates
identify: add template support...
identify: add template support This is based on a patch proposed last year by Mathias De Maré[1], with a few changes. - Tags and bookmarks are now formatted lists, for more flexible queries. - The templater is populated whether or not [-nibtB] is specified. (Plain output is unchanged.) This seems more consistent with other templated commands. - The 'id' property is a string, instead of a list. - The parents of 'wdir()' have their own list of attributes. I left 'id' as a string because it seems very useful for generating version info. It's also a bit strange because the value and meaning changes depending on whether or not --debug is passed (short vs full hash), whether the revision is a merge or not (one hash or two, separated by a '+'), the working directory or not (node vs p1node), and local or not (remote defaults to tip, and never has '+'). The equivalent string built with {rev} seems much less useful, and I couldn't think of a reasonable name, so I left it out. The discussion seemed to be pointing towards having a list of nodes, with more than one entry for a merge. It seems simpler to give the nodes a name, and use {node} for the actual commit probed, especially now that there is a virtual node for 'wdir()'. Yuya mentioned using fm.nested() in that thread, so I did for the parent nodes. I'm not sure if the plan is to fill in all of the context attributes in these items, or if these nested items should simply be made {p1node} and {p1rev}. I used ':' as the tag separator for consistency with {tags} in the log templater. Likewise, bookmarks are separated by a space for consistency with the corresponding log template. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-August/087039.html

File last commit:

r28101:79437fb3 default
r33051:15a79ac8 default
Show More
test-rebase-bookmarks.t
212 lines | 4.4 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-bookmarks.t
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 > [alias]
> tglog = log -G --template "{rev}: '{desc}' bookmarks: {bookmarks}\n"
> EOF
Create a repo with several bookmarks
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Am A
adding a
$ echo b > b
$ hg ci -Am B
adding b
$ hg book 'X'
$ hg book 'Y'
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ echo c > c
$ hg ci -Am C
adding c
$ hg book 'Z'
$ hg up -q 0
$ echo d > d
$ hg ci -Am D
adding d
created new head
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 $ hg book W
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 @ 3: 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
| o 2: 'C' bookmarks: Y Z
| |
| o 1: 'B' bookmarks: X
|/
o 0: 'A' bookmarks:
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Move only rebased bookmarks
$ cd ..
$ hg clone -q a a1
$ cd a1
$ hg up -q Z
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 Test deleting divergent bookmarks from dest (issue3685)
$ hg book -r 3 Z@diverge
... and also test that bookmarks not on dest or not being moved aren't deleted
$ hg book -r 3 X@diverge
$ hg book -r 0 Y@diverge
$ hg tglog
o 3: 'D' bookmarks: W X@diverge Z@diverge
|
| @ 2: 'C' bookmarks: Y Z
| |
| o 1: 'B' bookmarks: X
|/
o 0: 'A' bookmarks: Y@diverge
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s Y -d 3
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-126f3e97-backup.hg (glob)
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 @ 3: 'C' bookmarks: Y Z
|
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 o 2: 'D' bookmarks: W X@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
| o 1: 'B' bookmarks: X
|/
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 o 0: 'A' bookmarks: Y@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523 Do not try to keep active but deleted divergent bookmark
$ cd ..
$ hg clone -q a a4
$ cd a4
$ hg up -q 2
$ hg book W@diverge
$ hg rebase -s W -d .
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:41acb9dca9eb "D" (tip W)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-b35a6a63-backup.hg (glob)
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523
$ hg bookmarks
W 3:0d3554f74897
X 1:6c81ed0049f8
Y 2:49cb3485fa0c
Z 2:49cb3485fa0c
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Keep bookmarks to the correct rebased changeset
$ cd ..
$ hg clone -q a a2
$ cd a2
$ hg up -q Z
$ hg rebase -s 1 -d 3
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 @ 3: 'C' bookmarks: Y Z
|
o 2: 'B' bookmarks: X
|
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 o 1: 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
o 0: 'A' bookmarks:
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Keep active bookmark on the correct changeset
$ cd ..
$ hg clone -q a a3
$ cd a3
$ hg up -q X
$ hg rebase -d W
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 3: 'C' bookmarks: Y Z
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 2: 'B' bookmarks: X
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
o 1: 'D' bookmarks: W
|
o 0: 'A' bookmarks:
Pierre-Yves David
rebase: preserve active bookmark when not at head (issue3813)...
r19926 $ hg bookmarks
W 1:41acb9dca9eb
* X 2:e926fccfa8ec
Y 3:3d5fa227f4b5
Z 3:3d5fa227f4b5
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 rebase --continue with bookmarks present (issue3802)
$ hg up 2
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark X)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'C' > c
$ hg add c
$ hg ci -m 'other C'
created new head
$ hg up 3
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
tests: add an explicit destination in some rebase tests...
r28101 $ hg rebase --dest 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 merging c
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging c! (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]
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'c' > c
$ hg resolve --mark c
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
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg rebase --continue
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-c6ea2371-backup.hg (glob)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg tglog
@ 4: 'C' bookmarks: Y Z
|
o 3: 'other C' bookmarks:
|
o 2: 'B' bookmarks: X
|
o 1: 'D' bookmarks: W
|
o 0: 'A' bookmarks:
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Bryan O'Sullivan
rebase: handle bookmarks matching revset function names (issue3950)...
r19641 ensure that bookmarks given the names of revset functions can be used
as --rev arguments (issue3950)
$ hg update -q 3
$ echo bimble > bimble
$ hg add bimble
$ hg commit -q -m 'bisect'
$ echo e >> bimble
$ hg ci -m bisect2
$ echo e >> bimble
$ hg ci -m bisect3
$ hg book bisect
$ hg update -q Y
$ hg rebase -r '"bisect"^^::"bisect"^' -r bisect -d Z
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:345c90f326a4 "bisect"
rebasing 6:f677a2907404 "bisect2"
rebasing 7:325c16001345 "bisect3" (tip bisect)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-b4840586-backup.hg (glob)