mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
307606e338
This makes use of the generic method of listing bookmarks and tags, so other extensions that add other namespaces will get their names added too. This does mean that bookmarks will come before tags, just like we apparently decided to order them in the "hg log" output. It doesn't seem like people would be parsing the rebase output anyway. We also did 9461eb4ff93e (rebase: use _ctxdesc in one more place, 2017-08-29) recently, so now seems like a good time. Differential Revision: https://phab.mercurial-scm.org/D741
106 lines
2.5 KiB
Perl
106 lines
2.5 KiB
Perl
$ echo "[extensions]" >> $HGRCPATH
|
|
$ echo "rebase=" >> $HGRCPATH
|
|
|
|
initialize repository
|
|
|
|
$ hg init
|
|
|
|
$ echo 'a' > a
|
|
$ hg ci -A -m "0"
|
|
adding a
|
|
|
|
$ echo 'b' > b
|
|
$ hg ci -A -m "1"
|
|
adding b
|
|
|
|
$ hg up 0
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ echo 'c' > c
|
|
$ hg ci -A -m "2"
|
|
adding c
|
|
created new head
|
|
|
|
$ echo 'd' > d
|
|
$ hg ci -A -m "3"
|
|
adding d
|
|
|
|
$ hg bookmark -r 1 one
|
|
$ hg bookmark -r 3 two
|
|
$ hg up -q two
|
|
|
|
bookmark list
|
|
|
|
$ hg bookmark
|
|
one 1:925d80f479bb
|
|
* two 3:2ae46b1d99a7
|
|
|
|
rebase
|
|
|
|
$ hg rebase -s two -d one
|
|
rebasing 3:2ae46b1d99a7 "3" (two tip)
|
|
saved backup bundle to $TESTTMP/.hg/strip-backup/2ae46b1d99a7-e6b057bc-rebase.hg (glob)
|
|
|
|
$ hg log
|
|
changeset: 3:42e5ed2cdcf4
|
|
bookmark: two
|
|
tag: tip
|
|
parent: 1:925d80f479bb
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 3
|
|
|
|
changeset: 2:db815d6d32e6
|
|
parent: 0:f7b1eb17ad24
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 2
|
|
|
|
changeset: 1:925d80f479bb
|
|
bookmark: one
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 1
|
|
|
|
changeset: 0:f7b1eb17ad24
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 0
|
|
|
|
aborted rebase should restore active bookmark.
|
|
|
|
$ hg up 1
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
(leaving bookmark two)
|
|
$ echo 'e' > d
|
|
$ hg ci -A -m "4"
|
|
adding d
|
|
created new head
|
|
$ hg bookmark three
|
|
$ hg rebase -s three -d two
|
|
rebasing 4:dd7c838e8362 "4" (three tip)
|
|
merging d
|
|
warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
|
|
unresolved conflicts (see hg resolve, then hg rebase --continue)
|
|
[1]
|
|
$ hg rebase --abort
|
|
rebase aborted
|
|
$ hg bookmark
|
|
one 1:925d80f479bb
|
|
* three 4:dd7c838e8362
|
|
two 3:42e5ed2cdcf4
|
|
|
|
after aborted rebase, restoring a bookmark that has been removed should not fail
|
|
|
|
$ hg rebase -s three -d two
|
|
rebasing 4:dd7c838e8362 "4" (three tip)
|
|
merging d
|
|
warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
|
|
unresolved conflicts (see hg resolve, then hg rebase --continue)
|
|
[1]
|
|
$ hg bookmark -d three
|
|
$ hg rebase --abort
|
|
rebase aborted
|
|
$ hg bookmark
|
|
one 1:925d80f479bb
|
|
two 3:42e5ed2cdcf4
|