##// END OF EJS Templates
debugobsolete: also issue the "new obsmarkers" messsage...
debugobsolete: also issue the "new obsmarkers" messsage We are going to improve the way this message is issued in the core codebase. This will make it appears for `hg debugobsolete` too. Since this seems like a good idea, we make the output change in a previous changesets to clarify the next changeset.

File last commit:

r40570:7ed611c6 default
r43163:34a46d48 default
Show More
test-bookmarks.t
1236 lines | 33.8 KiB | text/troff | Tads3Lexer
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709
FUJIWARA Katsunori
tests: make directory to prevent test process from going out of $TESTTMP...
r31051 $ hg init repo
$ cd repo
Martin Geisler
tests: unify test-bookmarks
r11861
Matt Harbison
tests: adjust hooks for Windows...
r34939 $ cat > $TESTTMP/hook.sh <<'EOF'
> echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE"
> EOF
$ TESTHOOK="hooks.txnclose-bookmark.test=sh $TESTTMP/hook.sh"
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709
Martin Geisler
tests: unify test-bookmarks
r11861 no bookmarks
$ hg bookmarks
no bookmarks set
Yuya Nishihara
bookmarks: port to generic templater
r22776 $ hg bookmarks -Tjson
[
]
Martin Geisler
tests: unify test-bookmarks
r11861 bookmark rev -1
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg bookmark X --config "$TESTHOOK"
test-hook-bookmark: X: -> 0000000000000000000000000000000000000000
Martin Geisler
tests: unify test-bookmarks
r11861
list bookmarks
$ hg bookmarks
* X -1:000000000000
list bookmarks with color
$ hg --config extensions.color= --config color.mode=ansi \
> bookmarks --color=always
Yuya Nishihara
bookmarks: split ui.write() so that it can be easily ported to formatter api...
r22775 \x1b[0;32m * \x1b[0m\x1b[0;32mX\x1b[0m\x1b[0;32m -1:000000000000\x1b[0m (esc)
Martin Geisler
tests: unify test-bookmarks
r11861
$ echo a > a
$ hg add a
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg commit -m 0 --config "$TESTHOOK"
test-hook-bookmark: X: 0000000000000000000000000000000000000000 -> f7b1eb17ad24730a1651fccd46c43826d1bbc2ac
Martin Geisler
tests: unify test-bookmarks
r11861
bookmark X moved to rev 0
$ hg bookmarks
* X 0:f7b1eb17ad24
look up bookmark
$ hg log -r X
changeset: 0:f7b1eb17ad24
David Soria Parra
templater: add bookmarks to templates and default output...
r13386 bookmark: X
Martin Geisler
tests: unify test-bookmarks
r11861 tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0
Kevin Bullock
commands: 'hg bookmark NAME' should work even with ui.strict=True...
r18075 second bookmark for rev 0, command should work even with ui.strict on
Martin Geisler
tests: unify test-bookmarks
r11861
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg --config ui.strict=1 bookmark X2 --config "$TESTHOOK"
test-hook-bookmark: X2: -> f7b1eb17ad24730a1651fccd46c43826d1bbc2ac
Martin Geisler
tests: unify test-bookmarks
r11861
bookmark rev -1 again
$ hg bookmark -r null Y
list bookmarks
$ hg bookmarks
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 X 0:f7b1eb17ad24
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 * X2 0:f7b1eb17ad24
Martin Geisler
tests: unify test-bookmarks
r11861 Y -1:000000000000
Yuya Nishihara
bookmarks: add explicit option to list bookmarks of the given names...
r39789 $ hg bookmarks -l
X 0:f7b1eb17ad24
* X2 0:f7b1eb17ad24
Y -1:000000000000
$ hg bookmarks -l X Y
X 0:f7b1eb17ad24
Y -1:000000000000
$ hg bookmarks -l .
* X2 0:f7b1eb17ad24
$ hg bookmarks -l X A Y
abort: bookmark 'A' does not exist
[255]
$ hg bookmarks -l -r0
abort: --rev is incompatible with --list
[255]
$ hg bookmarks -l --inactive
abort: --inactive is incompatible with --list
[255]
Yuya Nishihara
bookmarks: cache reverse mapping (issue5868)...
r37869 $ hg log -T '{bookmarks % "{rev} {bookmark}\n"}'
0 X
0 X2
Martin Geisler
tests: unify test-bookmarks
r11861
$ echo b > b
$ hg add b
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg commit -m 1 --config "$TESTHOOK"
test-hook-bookmark: X2: f7b1eb17ad24730a1651fccd46c43826d1bbc2ac -> 925d80f479bb026b0fb3deb27503780b13f74123
Martin Geisler
tests: unify test-bookmarks
r11861
Yuya Nishihara
bookmarks: add support for log-like template keywords and functions...
r38556 $ hg bookmarks -T '{rev}:{node|shortest} {bookmark} {desc|firstline}\n'
0:f7b1 X 0
1:925d X2 1
-1:0000 Y
Yuya Nishihara
bookmarks: port to generic templater
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
bookmarks: add revset for referencing bookmarks
r12714 bookmarks revset
$ hg log -r 'bookmark()'
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 changeset: 0:f7b1eb17ad24
David Soria Parra
templater: add bookmarks to templates and default output...
r13386 bookmark: X
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714 user: test
date: Thu Jan 01 00:00:00 1970 +0000
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 summary: 0
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 changeset: 1:925d80f479bb
bookmark: X2
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 1
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714 $ hg log -r 'bookmark(Y)'
$ hg log -r 'bookmark(X2)'
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 changeset: 1:925d80f479bb
David Soria Parra
templater: add bookmarks to templates and default output...
r13386 bookmark: X2
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 tag: tip
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714 user: test
date: Thu Jan 01 00:00:00 1970 +0000
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 summary: 1
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714
Simon King
revset: add pattern matching to 'bookmarks' revset expression
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
revset: bookmark revset interprets 'literal:' prefix correctly (issue4329)
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
Yuya Nishihara
revset: expand bookmark(.) to the active bookmark...
r39339 "." is expanded to the active bookmark:
$ hg log -r 'bookmark(.)'
changeset: 1:925d80f479bb
bookmark: X2
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 1
but "literal:." is not since "." seems not a literal bookmark:
$ hg log -r 'bookmark("literal:.")'
abort: bookmark '.' does not exist!
[255]
"." should fail if there's no active bookmark:
$ hg bookmark --inactive
$ hg log -r 'bookmark(.)'
Yuya Nishihara
bookmarks: adjust exception type so present(bookmark(.)) works as expected
r39340 abort: no active bookmark!
Yuya Nishihara
revset: expand bookmark(.) to the active bookmark...
r39339 [255]
$ hg log -r 'present(bookmark(.))'
Idan Kamara
tests: add tests for non-existant branch/tag/bookmark
r13925 $ hg log -r 'bookmark(unknown)'
FUJIWARA Katsunori
revset: raise RepoLookupError to make present() predicate continue the query...
r23978 abort: bookmark 'unknown' does not exist!
Idan Kamara
tests: add tests for non-existant branch/tag/bookmark
r13925 [255]
Yuya Nishihara
revset: strip off "literal:" prefix from bookmark not found error...
r26538 $ hg log -r 'bookmark("literal:unknown")'
abort: bookmark 'unknown' does not exist!
[255]
FUJIWARA Katsunori
revset: raise RepoLookupError to make present() predicate continue the query...
r23978 $ hg log -r 'bookmark("re:unknown")'
$ hg log -r 'present(bookmark("literal:unknown"))'
$ hg log -r 'present(bookmark("re:unknown"))'
Idan Kamara
tests: add tests for non-existant branch/tag/bookmark
r13925
Patrick Mezard
Fix and unify transplant and bookmarks revsets doc registration
r12822 $ hg help revsets | grep 'bookmark('
"bookmark([name])"
Augie Fackler
bookmarks: add revset for referencing bookmarks
r12714
Yuya Nishihara
revset: expand bookmark(.) to the active bookmark...
r39339 reactivate "X2"
$ hg update X2
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark X2)
Martin Geisler
tests: unify test-bookmarks
r11861 bookmarks X and X2 moved to rev 1, Y at rev -1
$ hg bookmarks
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 X 0:f7b1eb17ad24
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 * X2 1:925d80f479bb
Martin Geisler
tests: unify test-bookmarks
r11861 Y -1:000000000000
bookmark rev 0 again
$ hg bookmark -r 0 Z
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 $ hg update X
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Stephen Lee
update: show message when a bookmark is activated by update...
r21503 (activating bookmark X)
Martin Geisler
tests: unify test-bookmarks
r11861 $ echo c > c
$ hg add c
$ hg commit -m 2
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 created new head
Martin Geisler
tests: unify test-bookmarks
r11861
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 bookmarks X moved to rev 2, Y at rev -1, Z at rev 0
Martin Geisler
tests: unify test-bookmarks
r11861
$ hg bookmarks
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 * X 2:db815d6d32e6
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 X2 1:925d80f479bb
David Soria Parra
localrepo: sort hg bookmark output...
r13388 Y -1:000000000000
Martin Geisler
tests: unify test-bookmarks
r11861 Z 0:f7b1eb17ad24
rename nonexistent bookmark
$ hg bookmark -m A B
Idan Kamara
bookmarks: change error messages to match those given by 'hg tag' commands
r13911 abort: bookmark 'A' does not exist
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
rename to existent bookmark
$ hg bookmark -m X Y
Idan Kamara
bookmarks: change error messages to match those given by 'hg tag' commands
r13911 abort: bookmark 'Y' already exists (use -f to force)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
force rename to existent bookmark
$ hg bookmark -f -m X Y
David Demelier
bookmarks: allow renaming active bookmark using '.'
r33901 rename bookmark using .
$ hg book rename-me
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg book -m . renamed --config "$TESTHOOK"
test-hook-bookmark: rename-me: db815d6d32e69058eadefc8cffbad37675707975 ->
test-hook-bookmark: renamed: -> db815d6d32e69058eadefc8cffbad37675707975
David Demelier
bookmarks: allow renaming active bookmark using '.'
r33901 $ hg bookmark
X2 1:925d80f479bb
Y 2:db815d6d32e6
Z 0:f7b1eb17ad24
* renamed 2:db815d6d32e6
$ hg up -q Y
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg book -d renamed --config "$TESTHOOK"
test-hook-bookmark: renamed: db815d6d32e69058eadefc8cffbad37675707975 ->
David Demelier
bookmarks: allow renaming active bookmark using '.'
r33901
rename bookmark using . with no active bookmark
$ hg book rename-me
$ hg book -i rename-me
$ hg book -m . renamed
Yuya Nishihara
bookmarks: adjust exception type so present(bookmark(.)) works as expected
r39340 abort: no active bookmark!
David Demelier
bookmarks: allow renaming active bookmark using '.'
r33901 [255]
$ hg up -q Y
$ hg book -d rename-me
David Demelier
bookmarks: allow deleting active bookmark using '.'
r33914 delete bookmark using .
$ hg book delete-me
$ hg book -d .
$ hg bookmark
X2 1:925d80f479bb
Y 2:db815d6d32e6
Z 0:f7b1eb17ad24
$ hg up -q Y
delete bookmark using . with no active bookmark
$ hg book delete-me
$ hg book -i delete-me
$ hg book -d .
Yuya Nishihara
bookmarks: adjust exception type so present(bookmark(.)) works as expected
r39340 abort: no active bookmark!
David Demelier
bookmarks: allow deleting active bookmark using '.'
r33914 [255]
$ hg up -q Y
$ hg book -d delete-me
Martin Geisler
tests: unify test-bookmarks
r11861 list bookmarks
$ hg bookmark
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 X2 1:925d80f479bb
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 * Y 2:db815d6d32e6
Martin Geisler
tests: unify test-bookmarks
r11861 Z 0:f7b1eb17ad24
David Soria Parra
bookmarks: teach the -r option to use revsets
r17686 bookmarks from a revset
$ hg bookmark -r '.^1' REVSET
$ hg bookmark -r ':tip' TIP
Sean Farley
bookmarks: fix bug that activated a bookmark even with -r passed...
r19112 $ hg up -q TIP
David Soria Parra
bookmarks: teach the -r option to use revsets
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
bookmarks: allow bookmark command to take multiple arguments...
r19147 rename without new name or multiple names
Martin Geisler
tests: unify test-bookmarks
r11861
$ hg bookmark -m Y
abort: new bookmark name required
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Kevin Bullock
bookmarks: allow bookmark command to take multiple arguments...
r19147 $ hg bookmark -m Y Y2 Y3
abort: only one new bookmark name allowed
[255]
Martin Geisler
tests: unify test-bookmarks
r11861
delete without name
$ hg bookmark -d
abort: bookmark name required
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
delete nonexistent bookmark
$ hg bookmark -d A
Idan Kamara
bookmarks: change error messages to match those given by 'hg tag' commands
r13911 abort: bookmark 'A' does not exist
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
Yuya Nishihara
bookmarks: reject --delete with --inactive which makes no sense...
r39788 delete with --inactive
$ hg bookmark -d --inactive Y
abort: --inactive is incompatible with --delete
[255]
Martin Geisler
tests: unify test-bookmarks
r11861 bookmark name with spaces should be stripped
$ hg bookmark ' x y '
list bookmarks
$ hg bookmarks
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 X2 1:925d80f479bb
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 Y 2:db815d6d32e6
Martin Geisler
tests: unify test-bookmarks
r11861 Z 0:f7b1eb17ad24
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 * x y 2:db815d6d32e6
Yuya Nishihara
bookmarks: cache reverse mapping (issue5868)...
r37869 $ hg log -T '{bookmarks % "{rev} {bookmark}\n"}'
2 Y
2 x y
1 X2
0 Z
Martin Geisler
tests: unify test-bookmarks
r11861
look up stripped bookmark name
$ hg log -r '"x y"'
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 changeset: 2:db815d6d32e6
David Soria Parra
templater: add bookmarks to templates and default output...
r13386 bookmark: Y
bookmark: x y
Martin Geisler
tests: unify test-bookmarks
r11861 tag: tip
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 parent: 0:f7b1eb17ad24
Martin Geisler
tests: unify test-bookmarks
r11861 user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 2
reject bookmark name with newline
$ hg bookmark '
> '
Kevin Bullock
bookmarks: remove redundant check for newline...
r17814 abort: bookmark names cannot consist entirely of whitespace
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
David Soria Parra
bookmarks: check bookmark format during rename (issue3662)
r17789 $ hg bookmark -m Z '
> '
Kevin Bullock
bookmarks: remove redundant check for newline...
r17814 abort: bookmark names cannot consist entirely of whitespace
David Soria Parra
bookmarks: check bookmark format during rename (issue3662)
r17789 [255]
Kevin Bullock
bookmarks: disallow bookmarks named 'tip', '.', or 'null'...
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
tests: unify test-bookmarks
r11861 bookmark with existing name
Kevin Bullock
bookmarks: allow moving a bookmark forward to a descendant...
r18773 $ hg bookmark X2
abort: bookmark 'X2' already exists (use -f to force)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
David Soria Parra
bookmarks: check bookmark format during rename (issue3662)
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
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 bookmark with integer name
$ hg bookmark 10
Durham Goode
translations: change label integer error to not specify the kind of label...
r19070 abort: cannot use an integer as a name
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 [255]
Augie Fackler
bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)...
r32451 bookmark with a name that matches a node id
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg bookmark 925d80f479bb db815d6d32e6 --config "$TESTHOOK"
Augie Fackler
bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)...
r32451 bookmark 925d80f479bb matches a changeset hash
(did you leave a -r out of an 'hg bookmark' command?)
bookmark db815d6d32e6 matches a changeset hash
(did you leave a -r out of an 'hg bookmark' command?)
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: 925d80f479bb: -> db815d6d32e69058eadefc8cffbad37675707975
test-hook-bookmark: db815d6d32e6: -> db815d6d32e69058eadefc8cffbad37675707975
Augie Fackler
bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)...
r32451 $ hg bookmark -d 925d80f479bb
$ hg bookmark -d db815d6d32e6
Yuya Nishihara
bookmarks: fix check of hash-like name to not abort by ambiguous identifier...
r32482 $ cd ..
bookmark with a name that matches an ambiguous node id
$ hg init ambiguous
$ cd ambiguous
$ echo 0 > a
$ hg ci -qAm 0
$ for i in 1057 2857 4025; do
> hg up -q 0
> echo $i > a
> hg ci -qm $i
> done
$ hg up -q null
$ hg log -r0: -T '{rev}:{node}\n'
0:b4e73ffab476aa0ee32ed81ca51e07169844bc6a
1:c56256a09cd28e5764f32e8e2810d0f01e2e357a
2:c5623987d205cd6d9d8389bfc40fff9dbb670b48
3:c562ddd9c94164376c20b86b0b4991636a3bf84f
$ hg bookmark -r0 c562
$ hg bookmarks
c562 0:b4e73ffab476
$ cd ..
David Soria Parra
bookmarks: abort when incompatible options are used (issue3663)...
r17790 incompatible options
Yuya Nishihara
bookmarks: fix check of hash-like name to not abort by ambiguous identifier...
r32482 $ cd repo
David Soria Parra
bookmarks: abort when incompatible options are used (issue3663)...
r17790 $ 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
tests: unify test-bookmarks
r11861 force bookmark with existing name
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg bookmark -f X2 --config "$TESTHOOK"
test-hook-bookmark: X2: 925d80f479bb026b0fb3deb27503780b13f74123 -> db815d6d32e69058eadefc8cffbad37675707975
Kevin Bullock
bookmarks: moving the active bookmark deactivates it...
r18782
force bookmark back to where it was, should deactivate it
Kevin Bullock
bookmarks: allow moving a bookmark forward to a descendant...
r18773 $ hg bookmark -fr1 X2
Kevin Bullock
bookmarks: moving the active bookmark deactivates it...
r18782 $ hg bookmarks
X2 1:925d80f479bb
Y 2:db815d6d32e6
Z 0:f7b1eb17ad24
x y 2:db815d6d32e6
Kevin Bullock
bookmarks: allow moving a bookmark forward to a descendant...
r18773
forward bookmark to descendant without --force
$ hg bookmark Z
Kevin Bullock
bookmarks: fix test broken by 0bba1ff2ac7b...
r18774 moving bookmark 'Z' forward from f7b1eb17ad24
Martin Geisler
tests: unify test-bookmarks
r11861
list bookmarks
$ hg bookmark
David Soria Parra
bookmarks: mark new bookmark as current if it points to the current dirstate...
r13448 X2 1:925d80f479bb
David Soria Parra
bookmarks: make track.current=True default behaviour and remove option (BC)
r13416 Y 2:db815d6d32e6
* Z 2:db815d6d32e6
x y 2:db815d6d32e6
Yuya Nishihara
bookmarks: cache reverse mapping (issue5868)...
r37869 $ hg log -T '{bookmarks % "{rev} {bookmark}\n"}'
2 Y
2 Z
2 x y
1 X2
Martin Geisler
tests: unify test-bookmarks
r11861
revision but no bookmark name
$ hg bookmark -r .
abort: bookmark name required
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bookmarks
r11861
bookmark name with whitespace only
$ hg bookmark ' '
abort: bookmark names cannot consist entirely of whitespace
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
David Soria Parra
bookmarks: forbid \0 \r \n : in bookmark names (BC)...
r13425
David Soria Parra
bookmarks: check bookmark format during rename (issue3662)
r17789 $ hg bookmark -m Y ' '
abort: bookmark names cannot consist entirely of whitespace
[255]
David Soria Parra
bookmarks: forbid \0 \r \n : in bookmark names (BC)...
r13425 invalid bookmark
$ hg bookmark 'foo:bar'
Wagner Bruna
scmutil: generalize message to make it more i18n-friendly
r17850 abort: ':' cannot be used in a name
Kevin Bullock
scmutil: add bad character checking to checknewlabel...
r17821 [255]
$ hg bookmark 'foo
> bar'
Wagner Bruna
scmutil: generalize message to make it more i18n-friendly
r17850 abort: '\n' cannot be used in a name
David Soria Parra
bookmarks: forbid \0 \r \n : in bookmark names (BC)...
r13425 [255]
David Soria Parra
tests: check if the bookmarks extension is ignored
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
fix bookmarks rollback behavior...
r14266
David Soria Parra
summary: add bookmarks to summary
r13454 test summary
$ hg summary
Augie Fackler
summary: show bookmarks separate from tags and note active mark (issue2892)
r14906 parent: 2:db815d6d32e6 tip
David Soria Parra
summary: add bookmarks to summary
r13454 2
branch: default
Augie Fackler
summary: show bookmarks separate from tags and note active mark (issue2892)
r14906 bookmarks: *Z Y x y
David Soria Parra
summary: add bookmarks to summary
r13454 commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
David Soria Parra
summary: add bookmarks to summary
r13454
Kevin Bullock
id: add bookmarks to id...
r13477 test id
$ hg id
db815d6d32e6 tip Y/Z/x y
Alexander Solovyov
fix bookmarks rollback behavior...
r14266
test rollback
Matt Mackall
merge with stable
r14268 $ echo foo > f1
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 $ hg bookmark tmp-rollback
Matt Mackall
merge with stable
r14268 $ hg ci -Amr
adding f1
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 $ hg bookmarks
X2 1:925d80f479bb
Y 2:db815d6d32e6
Z 2:db815d6d32e6
* tmp-rollback 3:2bf5cfec5864
x y 2:db815d6d32e6
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 $ hg rollback
Matt Mackall
merge with stable
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
bookmarks: moving the active bookmark deactivates it...
r18782 Z 2:db815d6d32e6
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 * tmp-rollback 2:db815d6d32e6
Matt Mackall
merge with stable
r14268 x y 2:db815d6d32e6
Pierre-Yves David
bookmarks: change bookmark within a transaction...
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
merge with stable
r14268
Kevin Bullock
bookmarks: allow (re-)activating a bookmark on the current changeset...
r18781 activate bookmark on working dir parent without --force
$ hg bookmark --inactive Z
$ hg bookmark Z
David Soria Parra
hg: add support for cloning bookmarks
r13604 test clone
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276 $ hg bookmark -r 2 -i @
$ hg bookmark -r 2 -i a@
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 $ hg bookmarks
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276 @ 2:db815d6d32e6
David Soria Parra
hg: add support for cloning bookmarks
r13604 X2 1:925d80f479bb
Y 2:db815d6d32e6
* Z 2:db815d6d32e6
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276 a@ 2:db815d6d32e6
David Soria Parra
hg: add support for cloning bookmarks
r13604 x y 2:db815d6d32e6
$ hg clone . cloned-bookmarks
Adrian Buehlmann
clone: show status "updating to bookmark @"...
r17882 updating to bookmark @
David Soria Parra
hg: add support for cloning bookmarks
r13604 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R cloned-bookmarks bookmarks
Thomas Arendsen Hein
clone: activate @ bookmark if updating to it...
r17870 * @ 2:db815d6d32e6
David Soria Parra
hg: add support for cloning bookmarks
r13604 X2 1:925d80f479bb
Y 2:db815d6d32e6
Z 2:db815d6d32e6
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276 a@ 2:db815d6d32e6
David Soria Parra
hg: add support for cloning bookmarks
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f7b1eb17ad24:db815d6d32e6
Adrian Buehlmann
clone: show status "updating to bookmark @"...
r17882 updating to bookmark @
David Soria Parra
hg: add support for cloning bookmarks
r13604 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R cloned-bookmarks-pull bookmarks
Thomas Arendsen Hein
clone: activate @ bookmark if updating to it...
r17870 * @ 2:db815d6d32e6
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 X2 1:925d80f479bb
David Soria Parra
hg: add support for cloning bookmarks
r13604 Y 2:db815d6d32e6
Z 2:db815d6d32e6
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276 a@ 2:db815d6d32e6
David Soria Parra
hg: add support for cloning bookmarks
r13604 x y 2:db815d6d32e6
Kevin Bullock
bookmarks: allow bookmark command to take multiple arguments...
r19147 delete multiple bookmarks at once
$ hg bookmark -d @ a@
Kevin Bullock
bookmarks: clone non-divergent bookmarks with @ in them
r16276
Thomas Arendsen Hein
test-bookmarks.t: check that bookmark "default" is not automatically checked out...
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
hg: add support for cloning bookmarks
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f7b1eb17ad24:925d80f479bb
David Soria Parra
hg: add support for cloning bookmarks
r13604 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
bundle: update current bookmark to most recent revision on current branch...
r13663
Thomas Arendsen Hein
clone: activate bookmark specified with --updaterev
r17703 test clone with update to a bookmark
Siddharth Agarwal
test-bookmarks.t: avoid nested repo...
r25893 $ hg clone -u Z . ../cloned-bookmarks-update
Thomas Arendsen Hein
clone: activate bookmark specified with --updaterev
r17703 updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
test-bookmarks.t: avoid nested repo...
r25893 $ hg -R ../cloned-bookmarks-update bookmarks
Thomas Arendsen Hein
clone: activate bookmark specified with --updaterev
r17703 X2 1:925d80f479bb
Y 2:db815d6d32e6
* Z 2:db815d6d32e6
x y 2:db815d6d32e6
David Soria Parra
bundle: update current bookmark to most recent revision on current branch...
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
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
David Soria Parra
bundle: update current bookmark to most recent revision on current branch...
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)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 125c9a1d6df6:9ba5f110a0b3 (2 drafts)
David Soria Parra
bundle: update current bookmark to most recent revision on current branch...
r13663 (run 'hg heads' to see heads, 'hg merge' to merge)
Kevin Bullock
update: update to current bookmark if it moved out from under us (issue3682)...
r18471
Ryan McElroy
commands: rename current to active in variables and comments...
r25349 update to active bookmark if it's not the parent
Kevin Bullock
update: update to current bookmark if it moved out from under us (issue3682)...
r18471
FUJIWARA Katsunori
tests: make output lines conditional for testing with fsmonitor...
r33210 (it is known issue that fsmonitor can't handle nested repositories. In
this test scenario, cloned-bookmark-default and tobundle exist in the
working directory of current repository)
Kevin Bullock
summary: test that current bookmark isn't shown...
r18620 $ hg summary
parent: 2:db815d6d32e6
2
branch: default
Matt Mackall
unbundle: don't advance bookmarks (issue4322) (BC)...
r22091 bookmarks: *Z Y x y
FUJIWARA Katsunori
tests: make output lines conditional for testing with fsmonitor...
r33210 commit: 1 added, 1 unknown (new branch head) (no-fsmonitor !)
commit: 1 added, * unknown (new branch head) (glob) (fsmonitor !)
Kevin Bullock
summary: test that current bookmark isn't shown...
r18620 update: 2 new changesets (update)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
David Soria Parra
bundle: update current bookmark to most recent revision on current branch...
r13663 $ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
unbundle: don't advance bookmarks (issue4322) (BC)...
r22091 updating bookmark Z
David Soria Parra
bundle: update current bookmark to most recent revision on current branch...
r13663 $ hg bookmarks
X2 1:925d80f479bb
Y 2:db815d6d32e6
* Z 3:125c9a1d6df6
x y 2:db815d6d32e6
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
r19523 pull --update works the same as pull && update
$ hg bookmark -r3 Y
moving bookmark 'Y' forward from db815d6d32e6
Jun Wu
tests: replace "cp -r" with "cp -R"...
r30556 $ cp -R ../cloned-bookmarks-update ../cloned-bookmarks-manual-update
$ cp -R ../cloned-bookmarks-update ../cloned-bookmarks-manual-update-with-divergence
Pierre-Yves David
bookmark: actually test update behavior in both cases...
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 125c9a1d6df6:9ba5f110a0b3
Pierre-Yves David
bookmark: actually test update behavior in both cases...
r26285 (run 'hg heads' to see heads, 'hg merge' to merge)
Pierre-Yves David
bookmark: do not crash when active bookmark is forward and --date is used...
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
bookmark: actually test update behavior in both cases...
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
test-bookmarks.t: avoid nested repo...
r25893 $ hg -R ../cloned-bookmarks-update update Y
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
r19523 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Stephen Lee
update: show message when a bookmark is activated by update...
r21503 (activating bookmark Y)
Siddharth Agarwal
test-bookmarks.t: avoid nested repo...
r25893 $ hg -R ../cloned-bookmarks-update pull --update .
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 125c9a1d6df6:9ba5f110a0b3
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
r19523 updating to active bookmark Y
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
update: warn about other topological heads on bare update...
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
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pulling from $TESTTMP/repo
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 125c9a1d6df6:9ba5f110a0b3
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 (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
bookmarks: more robust parsing of bookmarks file
r14845 test wrongly formated bookmark
$ echo '' >> .hg/bookmarks
$ hg bookmarks
X2 1:925d80f479bb
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
r19523 Y 3:125c9a1d6df6
Pierre-Yves David
bookmarks: more robust parsing of bookmarks file
r14845 * Z 3:125c9a1d6df6
x y 2:db815d6d32e6
Pierre-Yves David
bookmarks: add a warning for non empty malformed line
r14846 $ echo "Ican'thasformatedlines" >> .hg/bookmarks
$ hg bookmarks
malformed line in .hg/bookmarks: "Ican'thasformatedlines"
X2 1:925d80f479bb
Kevin Bullock
bookmarks: pull --update updates to active bookmark if it moved (issue4007)...
r19523 Y 3:125c9a1d6df6
Pierre-Yves David
bookmarks: add a warning for non empty malformed line
r14846 * Z 3:125c9a1d6df6
x y 2:db815d6d32e6
Matt Mackall
bookmarks: catch the proper exception for missing revisions...
r16573 test missing revisions
bookmarks: explicitly convert to 'node' during initialization...
r32735 $ echo "925d80f479b925d80f479bc925d80f479bccabab z" > .hg/bookmarks
Matt Mackall
bookmarks: catch the proper exception for missing revisions...
r16573 $ hg book
no bookmarks set
Augie Fackler
strip: move bookmarks to nearest ancestor rather than '.'...
r17264
test stripping a non-checked-out but bookmarked revision
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log --graph
Augie Fackler
strip: move bookmarks to nearest ancestor rather than '.'...
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
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark should-end-on-two)
Augie Fackler
strip: move bookmarks to nearest ancestor rather than '.'...
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
tests: don't load unnecessary graphlog extension...
r20117 $ hg log --graph
Augie Fackler
strip: move bookmarks to nearest ancestor rather than '.'...
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
bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant...
r19109
Mads Kiilerich
spelling: fixes of non-dictionary words
r30332 no-op update doesn't deactivate bookmarks
Matt Mackall
bookmarks: don't deactivate on no-op update (issue4901)
r26676
FUJIWARA Katsunori
tests: make output lines conditional for testing with fsmonitor...
r33210 (it is known issue that fsmonitor can't handle nested repositories. In
this test scenario, cloned-bookmark-default and tobundle exist in the
working directory of current repository)
FUJIWARA Katsunori
update: omit redundant activating message for already active bookmark...
r28500 $ hg bookmarks
* four 3:9ba5f110a0b3
should-end-on-two 2:db815d6d32e6
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 $ hg up four
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
bookmarks: don't deactivate on no-op update (issue4901)
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
FUJIWARA Katsunori
tests: make output lines conditional for testing with fsmonitor...
r33210 commit: 2 unknown (clean) (no-fsmonitor !)
commit: * unknown (clean) (glob) (fsmonitor !)
Matt Mackall
bookmarks: don't deactivate on no-op update (issue4901)
r26676 update: (current)
phases: 4 draft
Sean Farley
bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant...
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
bookmarks: fix bug that activated a bookmark even with -r passed...
r19112 Z@3 3:9ba5f110a0b3
* four 3:9ba5f110a0b3
Sean Farley
bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant...
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
bookmarks: resolve divergent bookmark when moving across a branch...
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
bookmarks: fix bug that activated a bookmark even with -r passed...
r19112 * Z 3:9ba5f110a0b3
Sean Farley
bookmarks: resolve divergent bookmark when moving across a branch...
r19111 Z@1 1:925d80f479bb
Sean Farley
bookmarks: fix bug that activated a bookmark even with -r passed...
r19112 foo 3:9ba5f110a0b3
Sean Farley
bookmarks: resolve divergent bookmark when moving across a branch...
r19111 foo@1 0:f7b1eb17ad24
foo@2 2:db815d6d32e6
four 3:9ba5f110a0b3
should-end-on-two 2:db815d6d32e6
FUJIWARA Katsunori
commands: advance current active bookmark at pull --update correctly...
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 5fb12f0f2d51
FUJIWARA Katsunori
commands: advance current active bookmark at pull --update correctly...
r27948 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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 81dcce76aa0b
FUJIWARA Katsunori
commands: advance current active bookmark at pull --update correctly...
r27948 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
transaction: allow running file generators after finalizers...
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
Augie Fackler
tests: update test-bookmarks to pass the import checker
r33948 > from __future__ import absolute_import
> import os
> import time
Durham Goode
transaction: allow running file generators after finalizers...
r28830 > from mercurial import extensions, localrepo
> def transaction(orig, self, desc, report=None):
> tr = orig(self, desc, report)
> def sleep(*args, **kwargs):
> retry = 20
Augie Fackler
tests: port test-bookmarks.t extension to Python 3...
r36588 > while retry > 0 and not os.path.exists(b"$TESTTMP/unpause"):
Durham Goode
transaction: allow running file generators after finalizers...
r28830 > retry -= 1
> time.sleep(0.5)
Augie Fackler
tests: port test-bookmarks.t extension to Python 3...
r36588 > if os.path.exists(b"$TESTTMP/unpause"):
> os.remove(b"$TESTTMP/unpause")
Durham Goode
transaction: allow running file generators after finalizers...
r28830 > # It is important that this finalizer start with 'a', so it runs before
> # the changelog finalizer appends to the changelog.
Augie Fackler
tests: port test-bookmarks.t extension to Python 3...
r36588 > tr.addfinalize(b'a-sleep', sleep)
Durham Goode
transaction: allow running file generators after finalizers...
r28830 > 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 ..
FUJIWARA Katsunori
bookmarks: check HG_PENDING strictly...
r31052
check whether HG_PENDING makes pending changes only in related
repositories visible to an external hook.
(emulate a transaction running concurrently by copied
.hg/bookmarks.pending in subsequent test)
$ cat > $TESTTMP/savepending.sh <<EOF
> cp .hg/bookmarks.pending .hg/bookmarks.pending.saved
> exit 1 # to avoid adding new bookmark for subsequent tests
> EOF
$ hg init unrelated
$ cd unrelated
$ echo a > a
$ hg add a
$ hg commit -m '#0'
$ hg --config hooks.pretxnclose="sh $TESTTMP/savepending.sh" bookmarks INVISIBLE
transaction abort!
rollback completed
abort: pretxnclose hook exited with status 1
[255]
$ cp .hg/bookmarks.pending.saved .hg/bookmarks.pending
(check visible bookmarks while transaction running in repo)
$ cat > $TESTTMP/checkpending.sh <<EOF
> echo "@repo"
Matt Harbison
tests: quote paths in shell script hooks...
r31767 > hg -R "$TESTTMP/repo" bookmarks
FUJIWARA Katsunori
bookmarks: check HG_PENDING strictly...
r31052 > echo "@unrelated"
Matt Harbison
tests: quote paths in shell script hooks...
r31767 > hg -R "$TESTTMP/unrelated" bookmarks
FUJIWARA Katsunori
bookmarks: check HG_PENDING strictly...
r31052 > exit 1 # to avoid adding new bookmark for subsequent tests
> EOF
$ cd ../repo
$ hg --config hooks.pretxnclose="sh $TESTTMP/checkpending.sh" bookmarks NEW
@repo
* NEW 6:81dcce76aa0b
X2 1:925d80f479bb
Y 4:125c9a1d6df6
Z 5:5fb12f0f2d51
Z@1 1:925d80f479bb
Z@2 4:125c9a1d6df6
foo 3:9ba5f110a0b3
foo@1 0:f7b1eb17ad24
foo@2 2:db815d6d32e6
four 3:9ba5f110a0b3
should-end-on-two 2:db815d6d32e6
x y 2:db815d6d32e6
@unrelated
no bookmarks set
transaction abort!
rollback completed
abort: pretxnclose hook exited with status 1
[255]
Boris Feld
bookmark: add a dedicated pretxnclose-bookmark hook...
r34710
Check pretxnclose-bookmark can abort a transaction
--------------------------------------------------
add hooks:
* to prevent NEW bookmark on a non-public changeset
* to prevent non-forward move of NEW bookmark
$ cat << EOF >> .hg/hgrc
> [hooks]
Matt Harbison
tests: adjust hooks for Windows...
r34939 > pretxnclose-bookmark.force-public = sh -c "(echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z \"\$HG_NODE\" ] || (hg log -r \"\$HG_NODE\" -T '{phase}' | grep public > /dev/null)"
> pretxnclose-bookmark.force-forward = sh -c "(echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z \"\$HG_NODE\" ] || (hg log -r \"max(\$HG_OLDNODE::\$HG_NODE)\" -T 'MATCH' | grep MATCH > /dev/null)"
Boris Feld
bookmark: add a dedicated pretxnclose-bookmark hook...
r34710 > EOF
$ hg log -G -T phases
@ changeset: 6:81dcce76aa0b
| tag: tip
| phase: draft
| parent: 4:125c9a1d6df6
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: xx
|
| o changeset: 5:5fb12f0f2d51
| | branch: test
| | bookmark: Z
| | phase: draft
| | parent: 3:9ba5f110a0b3
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: yy
| |
o | changeset: 4:125c9a1d6df6
| | bookmark: Y
| | bookmark: Z@2
| | phase: public
| | parent: 2:db815d6d32e6
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: x
| |
| o changeset: 3:9ba5f110a0b3
|/ branch: test
| bookmark: foo
| bookmark: four
| phase: public
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: y
|
o changeset: 2:db815d6d32e6
| bookmark: foo@2
| bookmark: should-end-on-two
| bookmark: x y
| phase: public
| parent: 0:f7b1eb17ad24
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: 2
|
| o changeset: 1:925d80f479bb
|/ bookmark: X2
| bookmark: Z@1
| phase: public
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: 1
|
o changeset: 0:f7b1eb17ad24
bookmark: foo@1
phase: public
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0
attempt to create on a default changeset
$ hg bookmark -r 81dcce76aa0b NEW
transaction abort!
rollback completed
abort: pretxnclose-bookmark.force-public hook exited with status 1
[255]
create on a public changeset
$ hg bookmark -r 9ba5f110a0b3 NEW
move to the other branch
$ hg bookmark -f -r 125c9a1d6df6 NEW
transaction abort!
rollback completed
abort: pretxnclose-bookmark.force-forward hook exited with status 1
[255]