test-bookmarks.t
897 lines
| 23.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-bookmarks.t
Martin Geisler
|
r11861 | $ hg init | ||
no bookmarks | ||||
$ hg bookmarks | ||||
no bookmarks set | ||||
Yuya Nishihara
|
r22776 | $ hg bookmarks -Tjson | ||
[ | ||||
] | ||||
Martin Geisler
|
r11861 | bookmark rev -1 | ||
$ hg bookmark X | ||||
list bookmarks | ||||
$ hg bookmarks | ||||
* X -1:000000000000 | ||||
list bookmarks with color | ||||
$ hg --config extensions.color= --config color.mode=ansi \ | ||||
> bookmarks --color=always | ||||
Yuya Nishihara
|
r22775 | \x1b[0;32m * \x1b[0m\x1b[0;32mX\x1b[0m\x1b[0;32m -1:000000000000\x1b[0m (esc) | ||
Martin Geisler
|
r11861 | |||
$ echo a > a | ||||
$ hg add a | ||||
$ hg commit -m 0 | ||||
bookmark X moved to rev 0 | ||||
$ hg bookmarks | ||||
* X 0:f7b1eb17ad24 | ||||
look up bookmark | ||||
$ hg log -r X | ||||
changeset: 0:f7b1eb17ad24 | ||||
David Soria Parra
|
r13386 | bookmark: X | ||
Martin Geisler
|
r11861 | tag: tip | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 0 | ||||
Kevin Bullock
|
r18075 | second bookmark for rev 0, command should work even with ui.strict on | ||
Martin Geisler
|
r11861 | |||
Kevin Bullock
|
r18075 | $ hg --config ui.strict=1 bookmark X2 | ||
Martin Geisler
|
r11861 | |||
bookmark rev -1 again | ||||
$ hg bookmark -r null Y | ||||
list bookmarks | ||||
$ hg bookmarks | ||||
David Soria Parra
|
r13416 | X 0:f7b1eb17ad24 | ||
David Soria Parra
|
r13448 | * X2 0:f7b1eb17ad24 | ||
Martin Geisler
|
r11861 | Y -1:000000000000 | ||
$ echo b > b | ||||
$ hg add b | ||||
$ hg commit -m 1 | ||||
Yuya Nishihara
|
r22776 | $ hg bookmarks -Tjson | ||
[ | ||||
{ | ||||
"active": false, | ||||
"bookmark": "X", | ||||
"node": "f7b1eb17ad24730a1651fccd46c43826d1bbc2ac", | ||||
"rev": 0 | ||||
}, | ||||
{ | ||||
"active": true, | ||||
"bookmark": "X2", | ||||
"node": "925d80f479bb026b0fb3deb27503780b13f74123", | ||||
"rev": 1 | ||||
}, | ||||
{ | ||||
"active": false, | ||||
"bookmark": "Y", | ||||
"node": "0000000000000000000000000000000000000000", | ||||
"rev": -1 | ||||
} | ||||
] | ||||
Augie Fackler
|
r12714 | bookmarks revset | ||
$ hg log -r 'bookmark()' | ||||
David Soria Parra
|
r13416 | changeset: 0:f7b1eb17ad24 | ||
David Soria Parra
|
r13386 | bookmark: X | ||
Augie Fackler
|
r12714 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
David Soria Parra
|
r13416 | summary: 0 | ||
Augie Fackler
|
r12714 | |||
David Soria Parra
|
r13448 | changeset: 1:925d80f479bb | ||
bookmark: X2 | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 1 | ||||
Augie Fackler
|
r12714 | $ hg log -r 'bookmark(Y)' | ||
$ hg log -r 'bookmark(X2)' | ||||
David Soria Parra
|
r13448 | changeset: 1:925d80f479bb | ||
David Soria Parra
|
r13386 | bookmark: X2 | ||
David Soria Parra
|
r13448 | tag: tip | ||
Augie Fackler
|
r12714 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
David Soria Parra
|
r13448 | summary: 1 | ||
Augie Fackler
|
r12714 | |||
Simon King
|
r16822 | $ hg log -r 'bookmark("re:X")' | ||
changeset: 0:f7b1eb17ad24 | ||||
bookmark: X | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 0 | ||||
changeset: 1:925d80f479bb | ||||
bookmark: X2 | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 1 | ||||
Michael O'Connor
|
r22105 | $ hg log -r 'bookmark("literal:X")' | ||
changeset: 0:f7b1eb17ad24 | ||||
bookmark: X | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 0 | ||||
Idan Kamara
|
r13925 | $ hg log -r 'bookmark(unknown)' | ||
FUJIWARA Katsunori
|
r23978 | abort: bookmark 'unknown' does not exist! | ||
Idan Kamara
|
r13925 | [255] | ||
Yuya Nishihara
|
r26538 | $ hg log -r 'bookmark("literal:unknown")' | ||
abort: bookmark 'unknown' does not exist! | ||||
[255] | ||||
FUJIWARA Katsunori
|
r23978 | $ hg log -r 'bookmark("re:unknown")' | ||
abort: no bookmarks exist that match 'unknown'! | ||||
[255] | ||||
$ hg log -r 'present(bookmark("literal:unknown"))' | ||||
$ hg log -r 'present(bookmark("re:unknown"))' | ||||
Idan Kamara
|
r13925 | |||
Patrick Mezard
|
r12822 | $ hg help revsets | grep 'bookmark(' | ||
"bookmark([name])" | ||||
Augie Fackler
|
r12714 | |||
Martin Geisler
|
r11861 | bookmarks X and X2 moved to rev 1, Y at rev -1 | ||
$ hg bookmarks | ||||
David Soria Parra
|
r13416 | X 0:f7b1eb17ad24 | ||
David Soria Parra
|
r13448 | * X2 1:925d80f479bb | ||
Martin Geisler
|
r11861 | Y -1:000000000000 | ||
bookmark rev 0 again | ||||
$ hg bookmark -r 0 Z | ||||
David Soria Parra
|
r13416 | $ hg update X | ||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Stephen Lee
|
r21503 | (activating bookmark X) | ||
Martin Geisler
|
r11861 | $ echo c > c | ||
$ hg add c | ||||
$ hg commit -m 2 | ||||
David Soria Parra
|
r13416 | created new head | ||
Martin Geisler
|
r11861 | |||
David Soria Parra
|
r13416 | bookmarks X moved to rev 2, Y at rev -1, Z at rev 0 | ||
Martin Geisler
|
r11861 | |||
$ hg bookmarks | ||||
David Soria Parra
|
r13416 | * X 2:db815d6d32e6 | ||
David Soria Parra
|
r13448 | X2 1:925d80f479bb | ||
David Soria Parra
|
r13388 | Y -1:000000000000 | ||
Martin Geisler
|
r11861 | Z 0:f7b1eb17ad24 | ||
rename nonexistent bookmark | ||||
$ hg bookmark -m A B | ||||
Idan Kamara
|
r13911 | abort: bookmark 'A' does not exist | ||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
rename to existent bookmark | ||||
$ hg bookmark -m X Y | ||||
Idan Kamara
|
r13911 | abort: bookmark 'Y' already exists (use -f to force) | ||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
force rename to existent bookmark | ||||
$ hg bookmark -f -m X Y | ||||
list bookmarks | ||||
$ hg bookmark | ||||
David Soria Parra
|
r13448 | X2 1:925d80f479bb | ||
David Soria Parra
|
r13416 | * Y 2:db815d6d32e6 | ||
Martin Geisler
|
r11861 | Z 0:f7b1eb17ad24 | ||
David Soria Parra
|
r17686 | bookmarks from a revset | ||
$ hg bookmark -r '.^1' REVSET | ||||
$ hg bookmark -r ':tip' TIP | ||||
Sean Farley
|
r19112 | $ hg up -q TIP | ||
David Soria Parra
|
r17686 | $ hg bookmarks | ||
REVSET 0:f7b1eb17ad24 | ||||
* TIP 2:db815d6d32e6 | ||||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Z 0:f7b1eb17ad24 | ||||
$ hg bookmark -d REVSET | ||||
$ hg bookmark -d TIP | ||||
Kevin Bullock
|
r19147 | rename without new name or multiple names | ||
Martin Geisler
|
r11861 | |||
$ hg bookmark -m Y | ||||
abort: new bookmark name required | ||||
Matt Mackall
|
r12316 | [255] | ||
Kevin Bullock
|
r19147 | $ hg bookmark -m Y Y2 Y3 | ||
abort: only one new bookmark name allowed | ||||
[255] | ||||
Martin Geisler
|
r11861 | |||
delete without name | ||||
$ hg bookmark -d | ||||
abort: bookmark name required | ||||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
delete nonexistent bookmark | ||||
$ hg bookmark -d A | ||||
Idan Kamara
|
r13911 | abort: bookmark 'A' does not exist | ||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
bookmark name with spaces should be stripped | ||||
$ hg bookmark ' x y ' | ||||
list bookmarks | ||||
$ hg bookmarks | ||||
David Soria Parra
|
r13448 | X2 1:925d80f479bb | ||
David Soria Parra
|
r13416 | Y 2:db815d6d32e6 | ||
Martin Geisler
|
r11861 | Z 0:f7b1eb17ad24 | ||
David Soria Parra
|
r13416 | * x y 2:db815d6d32e6 | ||
Martin Geisler
|
r11861 | |||
look up stripped bookmark name | ||||
$ hg log -r '"x y"' | ||||
David Soria Parra
|
r13416 | changeset: 2:db815d6d32e6 | ||
David Soria Parra
|
r13386 | bookmark: Y | ||
bookmark: x y | ||||
Martin Geisler
|
r11861 | tag: tip | ||
David Soria Parra
|
r13416 | parent: 0:f7b1eb17ad24 | ||
Martin Geisler
|
r11861 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 2 | ||||
reject bookmark name with newline | ||||
$ hg bookmark ' | ||||
> ' | ||||
Kevin Bullock
|
r17814 | abort: bookmark names cannot consist entirely of whitespace | ||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
David Soria Parra
|
r17789 | $ hg bookmark -m Z ' | ||
> ' | ||||
Kevin Bullock
|
r17814 | abort: bookmark names cannot consist entirely of whitespace | ||
David Soria Parra
|
r17789 | [255] | ||
Kevin Bullock
|
r17816 | bookmark with reserved name | ||
$ hg bookmark tip | ||||
abort: the name 'tip' is reserved | ||||
[255] | ||||
$ hg bookmark . | ||||
abort: the name '.' is reserved | ||||
[255] | ||||
$ hg bookmark null | ||||
abort: the name 'null' is reserved | ||||
[255] | ||||
Martin Geisler
|
r11861 | bookmark with existing name | ||
Kevin Bullock
|
r18773 | $ hg bookmark X2 | ||
abort: bookmark 'X2' already exists (use -f to force) | ||||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
David Soria Parra
|
r17789 | $ hg bookmark -m Y Z | ||
abort: bookmark 'Z' already exists (use -f to force) | ||||
[255] | ||||
bookmark with name of branch | ||||
$ hg bookmark default | ||||
abort: a bookmark cannot have the name of an existing branch | ||||
[255] | ||||
$ hg bookmark -m Y default | ||||
abort: a bookmark cannot have the name of an existing branch | ||||
[255] | ||||
Durham Goode
|
r18566 | bookmark with integer name | ||
$ hg bookmark 10 | ||||
Durham Goode
|
r19070 | abort: cannot use an integer as a name | ||
Durham Goode
|
r18566 | [255] | ||
David Soria Parra
|
r17790 | incompatible options | ||
$ hg bookmark -m Y -d Z | ||||
abort: --delete and --rename are incompatible | ||||
[255] | ||||
$ hg bookmark -r 1 -d Z | ||||
abort: --rev is incompatible with --delete | ||||
[255] | ||||
$ hg bookmark -r 1 -m Z Y | ||||
abort: --rev is incompatible with --rename | ||||
[255] | ||||
Martin Geisler
|
r11861 | force bookmark with existing name | ||
Kevin Bullock
|
r18773 | $ hg bookmark -f X2 | ||
Kevin Bullock
|
r18782 | |||
force bookmark back to where it was, should deactivate it | ||||
Kevin Bullock
|
r18773 | $ hg bookmark -fr1 X2 | ||
Kevin Bullock
|
r18782 | $ hg bookmarks | ||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Z 0:f7b1eb17ad24 | ||||
x y 2:db815d6d32e6 | ||||
Kevin Bullock
|
r18773 | |||
forward bookmark to descendant without --force | ||||
$ hg bookmark Z | ||||
Kevin Bullock
|
r18774 | moving bookmark 'Z' forward from f7b1eb17ad24 | ||
Martin Geisler
|
r11861 | |||
list bookmarks | ||||
$ hg bookmark | ||||
David Soria Parra
|
r13448 | X2 1:925d80f479bb | ||
David Soria Parra
|
r13416 | Y 2:db815d6d32e6 | ||
* Z 2:db815d6d32e6 | ||||
x y 2:db815d6d32e6 | ||||
Martin Geisler
|
r11861 | |||
revision but no bookmark name | ||||
$ hg bookmark -r . | ||||
abort: bookmark name required | ||||
Matt Mackall
|
r12316 | [255] | ||
Martin Geisler
|
r11861 | |||
bookmark name with whitespace only | ||||
$ hg bookmark ' ' | ||||
abort: bookmark names cannot consist entirely of whitespace | ||||
Matt Mackall
|
r12316 | [255] | ||
David Soria Parra
|
r13425 | |||
David Soria Parra
|
r17789 | $ hg bookmark -m Y ' ' | ||
abort: bookmark names cannot consist entirely of whitespace | ||||
[255] | ||||
David Soria Parra
|
r13425 | invalid bookmark | ||
$ hg bookmark 'foo:bar' | ||||
Wagner Bruna
|
r17850 | abort: ':' cannot be used in a name | ||
Kevin Bullock
|
r17821 | [255] | ||
$ hg bookmark 'foo | ||||
> bar' | ||||
Wagner Bruna
|
r17850 | abort: '\n' cannot be used in a name | ||
David Soria Parra
|
r13425 | [255] | ||
David Soria Parra
|
r13474 | the bookmark extension should be ignored now that it is part of core | ||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "bookmarks=" >> $HGRCPATH | ||||
$ hg bookmarks | ||||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
* Z 2:db815d6d32e6 | ||||
x y 2:db815d6d32e6 | ||||
Alexander Solovyov
|
r14266 | |||
David Soria Parra
|
r13454 | test summary | ||
$ hg summary | ||||
Augie Fackler
|
r14906 | parent: 2:db815d6d32e6 tip | ||
David Soria Parra
|
r13454 | 2 | ||
branch: default | ||||
Augie Fackler
|
r14906 | bookmarks: *Z Y x y | ||
David Soria Parra
|
r13454 | commit: (clean) | ||
update: 1 new changesets, 2 branch heads (merge) | ||||
Gilles Moris
|
r25382 | phases: 3 draft | ||
David Soria Parra
|
r13454 | |||
Kevin Bullock
|
r13477 | test id | ||
$ hg id | ||||
db815d6d32e6 tip Y/Z/x y | ||||
Alexander Solovyov
|
r14266 | |||
test rollback | ||||
Matt Mackall
|
r14268 | $ echo foo > f1 | ||
Pierre-Yves David
|
r25744 | $ hg bookmark tmp-rollback | ||
Matt Mackall
|
r14268 | $ hg ci -Amr | ||
adding f1 | ||||
Pierre-Yves David
|
r25744 | $ hg bookmarks | ||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Z 2:db815d6d32e6 | ||||
* tmp-rollback 3:2bf5cfec5864 | ||||
x y 2:db815d6d32e6 | ||||
Alexander Solovyov
|
r14266 | $ hg rollback | ||
Matt Mackall
|
r14268 | repository tip rolled back to revision 2 (undo commit) | ||
working directory now based on revision 2 | ||||
$ hg bookmarks | ||||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Kevin Bullock
|
r18782 | Z 2:db815d6d32e6 | ||
Pierre-Yves David
|
r25744 | * tmp-rollback 2:db815d6d32e6 | ||
Matt Mackall
|
r14268 | x y 2:db815d6d32e6 | ||
Pierre-Yves David
|
r25744 | $ hg bookmark -f Z -r 1 | ||
$ hg rollback | ||||
repository tip rolled back to revision 2 (undo bookmark) | ||||
$ hg bookmarks | ||||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Z 2:db815d6d32e6 | ||||
* tmp-rollback 2:db815d6d32e6 | ||||
x y 2:db815d6d32e6 | ||||
$ hg bookmark -d tmp-rollback | ||||
Matt Mackall
|
r14268 | |||
Kevin Bullock
|
r18781 | activate bookmark on working dir parent without --force | ||
$ hg bookmark --inactive Z | ||||
$ hg bookmark Z | ||||
David Soria Parra
|
r13604 | test clone | ||
Kevin Bullock
|
r16276 | $ hg bookmark -r 2 -i @ | ||
$ hg bookmark -r 2 -i a@ | ||||
Alexander Solovyov
|
r14266 | $ hg bookmarks | ||
Kevin Bullock
|
r16276 | @ 2:db815d6d32e6 | ||
David Soria Parra
|
r13604 | X2 1:925d80f479bb | ||
Y 2:db815d6d32e6 | ||||
* Z 2:db815d6d32e6 | ||||
Kevin Bullock
|
r16276 | a@ 2:db815d6d32e6 | ||
David Soria Parra
|
r13604 | x y 2:db815d6d32e6 | ||
$ hg clone . cloned-bookmarks | ||||
Adrian Buehlmann
|
r17882 | updating to bookmark @ | ||
David Soria Parra
|
r13604 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
$ hg -R cloned-bookmarks bookmarks | ||||
Thomas Arendsen Hein
|
r17870 | * @ 2:db815d6d32e6 | ||
David Soria Parra
|
r13604 | X2 1:925d80f479bb | ||
Y 2:db815d6d32e6 | ||||
Z 2:db815d6d32e6 | ||||
Kevin Bullock
|
r16276 | a@ 2:db815d6d32e6 | ||
David Soria Parra
|
r13604 | x y 2:db815d6d32e6 | ||
test clone with pull protocol | ||||
$ hg clone --pull . cloned-bookmarks-pull | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 3 changesets with 3 changes to 3 files (+1 heads) | ||||
Adrian Buehlmann
|
r17882 | updating to bookmark @ | ||
David Soria Parra
|
r13604 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
$ hg -R cloned-bookmarks-pull bookmarks | ||||
Thomas Arendsen Hein
|
r17870 | * @ 2:db815d6d32e6 | ||
Alexander Solovyov
|
r14266 | X2 1:925d80f479bb | ||
David Soria Parra
|
r13604 | Y 2:db815d6d32e6 | ||
Z 2:db815d6d32e6 | ||||
Kevin Bullock
|
r16276 | a@ 2:db815d6d32e6 | ||
David Soria Parra
|
r13604 | x y 2:db815d6d32e6 | ||
Kevin Bullock
|
r19147 | delete multiple bookmarks at once | ||
$ hg bookmark -d @ a@ | ||||
Kevin Bullock
|
r16276 | |||
Thomas Arendsen Hein
|
r17868 | test clone with a bookmark named "default" (issue3677) | ||
$ hg bookmark -r 1 -f -i default | ||||
$ hg clone . cloned-bookmark-default | ||||
updating to branch default | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R cloned-bookmark-default bookmarks | ||||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
Z 2:db815d6d32e6 | ||||
default 1:925d80f479bb | ||||
x y 2:db815d6d32e6 | ||||
$ hg -R cloned-bookmark-default parents -q | ||||
2:db815d6d32e6 | ||||
$ hg bookmark -d default | ||||
David Soria Parra
|
r13604 | test clone with a specific revision | ||
$ hg clone -r 925d80 . cloned-bookmarks-rev | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files | ||||
updating to branch default | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R cloned-bookmarks-rev bookmarks | ||||
X2 1:925d80f479bb | ||||
David Soria Parra
|
r13663 | |||
Thomas Arendsen Hein
|
r17703 | test clone with update to a bookmark | ||
Siddharth Agarwal
|
r25893 | $ hg clone -u Z . ../cloned-bookmarks-update | ||
Thomas Arendsen Hein
|
r17703 | updating to branch default | ||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Siddharth Agarwal
|
r25893 | $ hg -R ../cloned-bookmarks-update bookmarks | ||
Thomas Arendsen Hein
|
r17703 | X2 1:925d80f479bb | ||
Y 2:db815d6d32e6 | ||||
* Z 2:db815d6d32e6 | ||||
x y 2:db815d6d32e6 | ||||
David Soria Parra
|
r13663 | create bundle with two heads | ||
$ hg clone . tobundle | ||||
updating to branch default | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo x > tobundle/x | ||||
$ hg -R tobundle add tobundle/x | ||||
$ hg -R tobundle commit -m'x' | ||||
$ hg -R tobundle update -r -2 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo y > tobundle/y | ||||
$ hg -R tobundle branch test | ||||
marked working directory as branch test | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
David Soria Parra
|
r13663 | $ hg -R tobundle add tobundle/y | ||
$ hg -R tobundle commit -m'y' | ||||
$ hg -R tobundle bundle tobundle.hg | ||||
searching for changes | ||||
2 changesets found | ||||
$ hg unbundle tobundle.hg | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files (+1 heads) | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
Kevin Bullock
|
r18471 | |||
Ryan McElroy
|
r25349 | update to active bookmark if it's not the parent | ||
Kevin Bullock
|
r18471 | |||
Kevin Bullock
|
r18620 | $ hg summary | ||
parent: 2:db815d6d32e6 | ||||
2 | ||||
branch: default | ||||
Matt Mackall
|
r22091 | bookmarks: *Z Y x y | ||
Kevin Bullock
|
r18620 | commit: 1 added, 1 unknown (new branch head) | ||
update: 2 new changesets (update) | ||||
Gilles Moris
|
r25382 | phases: 5 draft | ||
David Soria Parra
|
r13663 | $ hg update | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Matt Mackall
|
r22091 | updating bookmark Z | ||
David Soria Parra
|
r13663 | $ hg bookmarks | ||
X2 1:925d80f479bb | ||||
Y 2:db815d6d32e6 | ||||
* Z 3:125c9a1d6df6 | ||||
x y 2:db815d6d32e6 | ||||
Kevin Bullock
|
r19523 | pull --update works the same as pull && update | ||
$ hg bookmark -r3 Y | ||||
moving bookmark 'Y' forward from db815d6d32e6 | ||||
Pierre-Yves David
|
r26285 | $ cp -r ../cloned-bookmarks-update ../cloned-bookmarks-manual-update | ||
Pierre-Yves David
|
r28029 | $ cp -r ../cloned-bookmarks-update ../cloned-bookmarks-manual-update-with-divergence | ||
Pierre-Yves David
|
r26285 | |||
(manual version) | ||||
$ hg -R ../cloned-bookmarks-manual-update update Y | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(activating bookmark Y) | ||||
$ hg -R ../cloned-bookmarks-manual-update pull . | ||||
pulling from . | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files (+1 heads) | ||||
updating bookmark Y | ||||
updating bookmark Z | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
Pierre-Yves David
|
r26286 | |||
(# tests strange but with --date crashing when bookmark have to move) | ||||
$ hg -R ../cloned-bookmarks-manual-update update -d 1986 | ||||
abort: revision matching date not found | ||||
[255] | ||||
Pierre-Yves David
|
r26285 | $ hg -R ../cloned-bookmarks-manual-update update | ||
updating to active bookmark Y | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(all in one version) | ||||
Siddharth Agarwal
|
r25893 | $ hg -R ../cloned-bookmarks-update update Y | ||
Kevin Bullock
|
r19523 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Stephen Lee
|
r21503 | (activating bookmark Y) | ||
Siddharth Agarwal
|
r25893 | $ hg -R ../cloned-bookmarks-update pull --update . | ||
Kevin Bullock
|
r19523 | pulling from . | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files (+1 heads) | ||||
updating bookmark Y | ||||
updating bookmark Z | ||||
updating to active bookmark Y | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r28029 | We warn about divergent during bare update to the active bookmark | ||
$ hg -R ../cloned-bookmarks-manual-update-with-divergence update Y | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(activating bookmark Y) | ||||
$ hg -R ../cloned-bookmarks-manual-update-with-divergence bookmarks -r X2 Y@1 | ||||
$ hg -R ../cloned-bookmarks-manual-update-with-divergence bookmarks | ||||
X2 1:925d80f479bb | ||||
* Y 2:db815d6d32e6 | ||||
Y@1 1:925d80f479bb | ||||
Z 2:db815d6d32e6 | ||||
x y 2:db815d6d32e6 | ||||
$ hg -R ../cloned-bookmarks-manual-update-with-divergence pull | ||||
pulling from $TESTTMP | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files (+1 heads) | ||||
updating bookmark Y | ||||
updating bookmark Z | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
$ hg -R ../cloned-bookmarks-manual-update-with-divergence update | ||||
updating to active bookmark Y | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
1 other divergent bookmarks for "Y" | ||||
Pierre-Yves David
|
r14845 | test wrongly formated bookmark | ||
$ echo '' >> .hg/bookmarks | ||||
$ hg bookmarks | ||||
X2 1:925d80f479bb | ||||
Kevin Bullock
|
r19523 | Y 3:125c9a1d6df6 | ||
Pierre-Yves David
|
r14845 | * Z 3:125c9a1d6df6 | ||
x y 2:db815d6d32e6 | ||||
Pierre-Yves David
|
r14846 | $ echo "Ican'thasformatedlines" >> .hg/bookmarks | ||
$ hg bookmarks | ||||
malformed line in .hg/bookmarks: "Ican'thasformatedlines" | ||||
X2 1:925d80f479bb | ||||
Kevin Bullock
|
r19523 | Y 3:125c9a1d6df6 | ||
Pierre-Yves David
|
r14846 | * Z 3:125c9a1d6df6 | ||
x y 2:db815d6d32e6 | ||||
Matt Mackall
|
r16573 | test missing revisions | ||
$ echo "925d80f479bc z" > .hg/bookmarks | ||||
$ hg book | ||||
no bookmarks set | ||||
Augie Fackler
|
r17264 | |||
test stripping a non-checked-out but bookmarked revision | ||||
Martin Geisler
|
r20117 | $ hg log --graph | ||
Augie Fackler
|
r17264 | o changeset: 4:9ba5f110a0b3 | ||
| branch: test | ||||
| tag: tip | ||||
| parent: 2:db815d6d32e6 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: y | ||||
| | ||||
| @ changeset: 3:125c9a1d6df6 | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: x | ||||
| | ||||
o changeset: 2:db815d6d32e6 | ||||
| parent: 0:f7b1eb17ad24 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: 2 | ||||
| | ||||
| o changeset: 1:925d80f479bb | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: 1 | ||||
| | ||||
o changeset: 0:f7b1eb17ad24 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 0 | ||||
$ hg book should-end-on-two | ||||
$ hg co --clean 4 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Siddharth Agarwal
|
r21404 | (leaving bookmark should-end-on-two) | ||
Augie Fackler
|
r17264 | $ hg book four | ||
$ hg --config extensions.mq= strip 3 | ||||
saved backup bundle to * (glob) | ||||
should-end-on-two should end up pointing to revision 2, as that's the | ||||
tipmost surviving ancestor of the stripped revision. | ||||
Martin Geisler
|
r20117 | $ hg log --graph | ||
Augie Fackler
|
r17264 | @ changeset: 3:9ba5f110a0b3 | ||
| branch: test | ||||
| bookmark: four | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: y | ||||
| | ||||
o changeset: 2:db815d6d32e6 | ||||
| bookmark: should-end-on-two | ||||
| parent: 0:f7b1eb17ad24 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: 2 | ||||
| | ||||
| o changeset: 1:925d80f479bb | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: 1 | ||||
| | ||||
o changeset: 0:f7b1eb17ad24 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: 0 | ||||
Sean Farley
|
r19109 | |||
Matt Mackall
|
r26676 | no-op update doesn't deactive bookmarks | ||
FUJIWARA Katsunori
|
r28500 | $ hg bookmarks | ||
* four 3:9ba5f110a0b3 | ||||
should-end-on-two 2:db815d6d32e6 | ||||
Pierre-Yves David
|
r28065 | $ hg up four | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Matt Mackall
|
r26676 | $ hg up | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg sum | ||||
parent: 3:9ba5f110a0b3 tip | ||||
y | ||||
branch: test | ||||
bookmarks: *four | ||||
commit: 2 unknown (clean) | ||||
update: (current) | ||||
phases: 4 draft | ||||
Sean Farley
|
r19109 | test clearing divergent bookmarks of linear ancestors | ||
$ hg bookmark Z -r 0 | ||||
$ hg bookmark Z@1 -r 1 | ||||
$ hg bookmark Z@2 -r 2 | ||||
$ hg bookmark Z@3 -r 3 | ||||
$ hg book | ||||
Z 0:f7b1eb17ad24 | ||||
Z@1 1:925d80f479bb | ||||
Z@2 2:db815d6d32e6 | ||||
Sean Farley
|
r19112 | Z@3 3:9ba5f110a0b3 | ||
* four 3:9ba5f110a0b3 | ||||
Sean Farley
|
r19109 | should-end-on-two 2:db815d6d32e6 | ||
$ hg bookmark Z | ||||
moving bookmark 'Z' forward from f7b1eb17ad24 | ||||
$ hg book | ||||
* Z 3:9ba5f110a0b3 | ||||
Z@1 1:925d80f479bb | ||||
four 3:9ba5f110a0b3 | ||||
should-end-on-two 2:db815d6d32e6 | ||||
Sean Farley
|
r19111 | |||
test clearing only a single divergent bookmark across branches | ||||
$ hg book foo -r 1 | ||||
$ hg book foo@1 -r 0 | ||||
$ hg book foo@2 -r 2 | ||||
$ hg book foo@3 -r 3 | ||||
$ hg book foo -r foo@3 | ||||
$ hg book | ||||
Sean Farley
|
r19112 | * Z 3:9ba5f110a0b3 | ||
Sean Farley
|
r19111 | Z@1 1:925d80f479bb | ||
Sean Farley
|
r19112 | foo 3:9ba5f110a0b3 | ||
Sean Farley
|
r19111 | foo@1 0:f7b1eb17ad24 | ||
foo@2 2:db815d6d32e6 | ||||
four 3:9ba5f110a0b3 | ||||
should-end-on-two 2:db815d6d32e6 | ||||
FUJIWARA Katsunori
|
r27948 | |||
pull --update works the same as pull && update (case #2) | ||||
It is assumed that "hg pull" itself doesn't update current active | ||||
bookmark ('Y' in tests below). | ||||
$ hg pull -q ../cloned-bookmarks-update | ||||
divergent bookmark Z stored as Z@2 | ||||
(pulling revision on another named branch with --update updates | ||||
neither the working directory nor current active bookmark: "no-op" | ||||
case) | ||||
$ echo yy >> y | ||||
$ hg commit -m yy | ||||
$ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y ' | ||||
* Y 3:125c9a1d6df6 | ||||
$ hg -R ../cloned-bookmarks-update pull . --update | ||||
pulling from . | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
divergent bookmark Z stored as Z@default | ||||
adding remote bookmark foo | ||||
adding remote bookmark four | ||||
adding remote bookmark should-end-on-two | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R ../cloned-bookmarks-update parents -T "{rev}:{node|short}\n" | ||||
3:125c9a1d6df6 | ||||
$ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y ' | ||||
* Y 3:125c9a1d6df6 | ||||
(pulling revision on current named/topological branch with --update | ||||
updates the working directory and current active bookmark) | ||||
$ hg update -C -q 125c9a1d6df6 | ||||
$ echo xx >> x | ||||
$ hg commit -m xx | ||||
$ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y ' | ||||
* Y 3:125c9a1d6df6 | ||||
$ hg -R ../cloned-bookmarks-update pull . --update | ||||
pulling from . | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
divergent bookmark Z stored as Z@default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
updating bookmark Y | ||||
$ hg -R ../cloned-bookmarks-update parents -T "{rev}:{node|short}\n" | ||||
6:81dcce76aa0b | ||||
$ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y ' | ||||
* Y 6:81dcce76aa0b | ||||
Durham Goode
|
r28830 | |||
$ cd .. | ||||
ensure changelog is written before bookmarks | ||||
$ hg init orderrepo | ||||
$ cd orderrepo | ||||
$ touch a | ||||
$ hg commit -Aqm one | ||||
$ hg book mybook | ||||
$ echo a > a | ||||
$ cat > $TESTTMP/pausefinalize.py <<EOF | ||||
> from mercurial import extensions, localrepo | ||||
> import os, time | ||||
> def transaction(orig, self, desc, report=None): | ||||
> tr = orig(self, desc, report) | ||||
> def sleep(*args, **kwargs): | ||||
> retry = 20 | ||||
> while retry > 0 and not os.path.exists("$TESTTMP/unpause"): | ||||
> retry -= 1 | ||||
> time.sleep(0.5) | ||||
> if os.path.exists("$TESTTMP/unpause"): | ||||
> os.remove("$TESTTMP/unpause") | ||||
> # It is important that this finalizer start with 'a', so it runs before | ||||
> # the changelog finalizer appends to the changelog. | ||||
> tr.addfinalize('a-sleep', sleep) | ||||
> return tr | ||||
> | ||||
> def extsetup(ui): | ||||
> # This extension inserts an artifical pause during the transaction | ||||
> # finalizer, so we can run commands mid-transaction-close. | ||||
> extensions.wrapfunction(localrepo.localrepository, 'transaction', | ||||
> transaction) | ||||
> EOF | ||||
$ hg commit -qm two --config extensions.pausefinalize=$TESTTMP/pausefinalize.py & | ||||
$ sleep 2 | ||||
$ hg log -r . | ||||
changeset: 0:867bc5792c8c | ||||
bookmark: mybook | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: one | ||||
$ hg bookmarks | ||||
* mybook 0:867bc5792c8c | ||||
$ touch $TESTTMP/unpause | ||||
$ cd .. | ||||