##// END OF EJS Templates
sslutil: require TLS 1.1+ when supported...
sslutil: require TLS 1.1+ when supported Currently, Mercurial will use TLS 1.0 or newer when connecting to remote servers, selecting the highest TLS version supported by both peers. On older Pythons, only TLS 1.0 is available. On newer Pythons, TLS 1.1 and 1.2 should be available. Security professionals recommend avoiding TLS 1.0 if possible. PCI DSS 3.1 "strongly encourages" the use of TLS 1.2. Known attacks like BEAST and POODLE exist against TLS 1.0 (although mitigations are available and properly configured servers aren't vulnerable). I asked Eric Rescorla - Mozilla's resident crypto expert - whether Mercurial should drop support for TLS 1.0. His response was "if you can get away with it." Essentially, a number of servers on the Internet don't support TLS 1.1+. This is why web browsers continue to support TLS 1.0 despite desires from security experts. This patch changes Mercurial's default behavior on modern Python versions to require TLS 1.1+, thus avoiding known security issues with TLS 1.0 and making Mercurial more secure by default. Rather than drop TLS 1.0 support wholesale, we still allow TLS 1.0 to be used if configured. This is a compromise solution - ideally we'd disallow TLS 1.0. However, since we're not sure how many Mercurial servers don't support TLS 1.1+ and we're not sure how much user inconvenience this change will bring, I think it is prudent to ship an escape hatch that still allows usage of TLS 1.0. In the default case our users get better security. In the worst case, they are no worse off than before this patch. This patch has no effect when running on Python versions that don't support TLS 1.1+. As the added test shows, connecting to a server that doesn't support TLS 1.1+ will display a warning message with a link to our wiki, where we can guide people to configure their client to allow less secure connections.

File last commit:

r28830:a5009789 default
r29560:303e9300 default
Show More
test-bookmarks.t
897 lines | 23.9 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-bookmarks
r11861 $ hg init
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
$ 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
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
$ 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
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
Kevin Bullock
commands: 'hg bookmark NAME' should work even with ui.strict=True...
r18075 $ hg --config ui.strict=1 bookmark X2
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
$ echo b > b
$ hg add b
$ hg commit -m 1
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
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")'
abort: no bookmarks exist that match 'unknown'!
[255]
$ 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
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
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
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
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]
David Soria Parra
bookmarks: abort when incompatible options are used (issue3663)...
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
tests: unify test-bookmarks
r11861 force bookmark with existing name
Kevin Bullock
bookmarks: allow moving a bookmark forward to a descendant...
r18773 $ hg bookmark -f X2
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
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)
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
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)
(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
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
Kevin Bullock
summary: test that current bookmark isn't shown...
r18620 commit: 1 added, 1 unknown (new branch head)
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
Pierre-Yves David
bookmark: actually test update behavior in both cases...
r26285 $ cp -r ../cloned-bookmarks-update ../cloned-bookmarks-manual-update
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 $ 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
(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
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
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
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
$ echo "925d80f479bc z" > .hg/bookmarks
$ 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
Matt Mackall
bookmarks: don't deactivate on no-op update (issue4901)
r26676 no-op update doesn't deactive bookmarks
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
commit: 2 unknown (clean)
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
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
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
> 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 ..