##// END OF EJS Templates
hgweb: profile HTTP requests...
hgweb: profile HTTP requests Currently, running `hg serve --profile` doesn't yield anything useful: when the process is terminated the profiling output displays results from the main thread, which typically spends most of its time in select.select(). Furthermore, it has no meaningful results from mercurial.* modules because the threads serving HTTP requests don't actually get profiled. This patch teaches the hgweb wsgi applications to profile individual requests. If profiling is enabled, the profiler kicks in after HTTP/WSGI environment processing but before Mercurial's main request processing. The profile results are printed to the configured profiling output. If running `hg serve` from a shell, they will be printed to stderr, just before the HTTP request line is logged. If profiling to a file, we only write a single profile to the file because the file is not opened in append mode. We could add support for appending to files in a future patch if someone wants it. Per request profiling doesn't work with the statprof profiler because internally that profiler collects samples from the thread that *initially* requested profiling be enabled. I have plans to address this by vendoring Facebook's customized statprof and then improving it.

File last commit:

r29688:30c59bdd default
r29787:80df0426 default
Show More
test-bookmarks-pushpull.t
866 lines | 24.1 KiB | text/troff | Tads3Lexer
/ tests / test-bookmarks-pushpull.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 $ cat << EOF >> $HGRCPATH
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 > [ui]
> logtemplate={rev}:{node|short} {desc|firstline}
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 > [phases]
> publish=False
Durham Goode
obsolete: update tests to use obsolete options...
r22955 > [experimental]
> evolution=createmarkers,exchange
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 > EOF
Will Maier
tests: add test for bookmark push/pull
r12303 initialize
$ hg init a
$ cd a
$ echo 'test' > test
$ hg commit -Am'test'
adding test
set bookmarks
$ hg bookmark X
$ hg bookmark Y
$ hg bookmark Z
import bookmark by name
$ hg init ../b
$ cd ../b
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg book Y
$ hg book
* Y -1:000000000000
Will Maier
tests: add test for bookmark push/pull
r12303 $ hg pull ../a
pulling from ../a
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Mads Kiilerich
bookmarks: process pulled remote bookmarks in sorted order
r18363 adding remote bookmark X
David Soria Parra
localrepo: do not update bookmarks in addchangegroup...
r13662 updating bookmark Y
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 adding remote bookmark Z
Will Maier
tests: add test for bookmark push/pull
r12303 (run 'hg update' to get a working copy)
$ hg bookmarks
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 X 0:4e3505fd9583
Kevin Bullock
bookmarks: show active bookmark even if not at working dir...
r18479 * Y 0:4e3505fd9583
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 Z 0:4e3505fd9583
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg debugpushkey ../a namespaces
bookmarks
namespaces
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 obsolete
Mads Kiilerich <mads at kiilerich.com>
debugpushkey: list keys sorted
r18255 phases
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg debugpushkey ../a bookmarks
Mads Kiilerich <mads at kiilerich.com>
debugpushkey: list keys sorted
r18255 X 4e3505fd95835d721066b76e75dbb8cc554d7f77
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Y 4e3505fd95835d721066b76e75dbb8cc554d7f77
Z 4e3505fd95835d721066b76e75dbb8cc554d7f77
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199
Mads Kiilerich
spelling: fixes from proofreading of spell checker issues
r23543 delete the bookmark to re-pull it
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199
$ hg book -d X
$ hg pull -B X ../a
pulling from ../a
no changes found
adding remote bookmark X
finally no-op pull
Will Maier
tests: add test for bookmark push/pull
r12303 $ hg pull -B X ../a
pulling from ../a
no changes found
$ hg bookmark
David Soria Parra
localrepo: sort hg bookmark output...
r13388 X 0:4e3505fd9583
Kevin Bullock
bookmarks: show active bookmark even if not at working dir...
r18479 * Y 0:4e3505fd9583
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 Z 0:4e3505fd9583
Will Maier
tests: add test for bookmark push/pull
r12303
export bookmark by name
$ hg bookmark W
$ hg bookmark foo
$ hg bookmark foobar
$ hg push -B W ../a
pushing to ../a
searching for changes
no changes found
exporting bookmark W
Matt Mackall
push: don't treat bookmark as a found change...
r16038 [1]
Will Maier
tests: add test for bookmark push/pull
r12303 $ hg -R ../a bookmarks
David Soria Parra
localrepo: sort hg bookmark output...
r13388 W -1:000000000000
Will Maier
tests: add test for bookmark push/pull
r12303 X 0:4e3505fd9583
David Soria Parra
localrepo: sort hg bookmark output...
r13388 Y 0:4e3505fd9583
Will Maier
tests: add test for bookmark push/pull
r12303 * Z 0:4e3505fd9583
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 delete a remote bookmark
$ hg book -d W
$ hg push -B W ../a
Matt Mackall
bookmarks: move push/pull command features to core
r13368 pushing to ../a
searching for changes
no changes found
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 deleting remote bookmark W
Matt Mackall
push: don't treat bookmark as a found change...
r16038 [1]
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969
liscju
bookmarks: add 'hg push -B .' for pushing the active bookmark (issue4917)
r28182 export the active bookmark
$ hg bookmark V
$ hg push -B . ../a
pushing to ../a
searching for changes
no changes found
exporting bookmark V
[1]
liscju
bookmarks: abort 'push -B .' when no active bookmark
r29354 exporting the active bookmark with 'push -B .'
demand that one of the bookmarks is activated
$ hg update -r default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(leaving bookmark V)
$ hg push -B . ../a
abort: no active bookmark
[255]
$ hg update -r V
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(activating bookmark V)
liscju
bookmarks: add 'hg push -B .' for pushing the active bookmark (issue4917)
r28182 delete the bookmark
$ hg book -d V
$ hg push -B V ../a
pushing to ../a
searching for changes
no changes found
deleting remote bookmark V
[1]
$ hg up foobar
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark foobar)
Will Maier
tests: add test for bookmark push/pull
r12303 push/pull name that doesn't exist
$ hg push -B badname ../a
Matt Mackall
bookmarks: move push/pull command features to core
r13368 pushing to ../a
searching for changes
Pierre-Yves David
push: gather all bookmark decisions together...
r22651 bookmark badname does not exist on the local or remote repository!
Matt Mackall
bookmarks: move push/pull command features to core
r13368 no changes found
Matt Mackall
tests: add exit codes to unified tests
r12316 [2]
Will Maier
tests: add test for bookmark push/pull
r12303 $ hg pull -B anotherbadname ../a
Matt Mackall
bookmarks: move push/pull command features to core
r13368 pulling from ../a
Will Maier
tests: add test for bookmark push/pull
r12303 abort: remote bookmark anotherbadname not found!
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969
divergent bookmarks
$ cd ../a
$ echo c1 > f1
$ hg ci -Am1
adding f1
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 $ hg book -f @
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg book -f X
$ hg book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
David Soria Parra
localrepo: sort hg bookmark output...
r13388 * X 1:0d2164f0ce0d
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Y 0:4e3505fd9583
Z 1:0d2164f0ce0d
$ cd ../b
$ hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Kevin Bullock
update: note updated bookmark...
r16010 updating bookmark foobar
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ echo c2 > f2
$ hg ci -Am2
adding f2
Kevin Bullock
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
r18470 $ hg book -if @
$ hg book -if X
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:9b140be10808
Kevin Bullock
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
r18470 X 1:9b140be10808
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Y 0:4e3505fd9583
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 Z 0:4e3505fd9583
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 foo -1:000000000000
Kevin Bullock
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
r18470 * foobar 1:9b140be10808
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969
Matt Mackall
bookmarks: mark divergent bookmarks with book@pathalias when source in [paths]
r15614 $ hg pull --config paths.foo=../a foo
Adrian Buehlmann
test-bookmarks-pushpull: partially adapt for Windows...
r17021 pulling from $TESTTMP/a (glob)
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Mads Kiilerich
bookmarks: process pulled remote bookmarks in sorted order
r18363 divergent bookmark @ stored as @foo
Matt Mackall
bookmarks: mark divergent bookmarks with book@pathalias when source in [paths]
r15614 divergent bookmark X stored as X@foo
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 updating bookmark Z
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:9b140be10808
@foo 2:0d2164f0ce0d
Kevin Bullock
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
r18470 X 1:9b140be10808
Matt Mackall
bookmarks: mark divergent bookmarks with book@pathalias when source in [paths]
r15614 X@foo 2:0d2164f0ce0d
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Y 0:4e3505fd9583
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 Z 2:0d2164f0ce0d
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 foo -1:000000000000
Kevin Bullock
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
r18470 * foobar 1:9b140be10808
FUJIWARA Katsunori
bookmarks: prevent divergent bookmark from being updated unexpectedly...
r24353
(test that too many divergence of bookmark)
Matt Harbison
tests: replace uses of 'seq' with portable 'seq.py'
r24361 $ python $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -r 000000000000 "X@${i}"; done
FUJIWARA Katsunori
bookmarks: prevent divergent bookmark from being updated unexpectedly...
r24353 $ hg pull ../a
pulling from ../a
searching for changes
no changes found
warning: failed to assign numbered name to divergent bookmark X
divergent bookmark @ stored as @1
$ hg bookmarks | grep '^ X' | grep -v ':000000000000'
X 1:9b140be10808
X@foo 2:0d2164f0ce0d
FUJIWARA Katsunori
bookmarks: reuse @number bookmark, if it refers changeset referred remotely...
r24355
(test that remotely diverged bookmarks are reused if they aren't changed)
$ hg bookmarks | grep '^ @'
@ 1:9b140be10808
@1 2:0d2164f0ce0d
@foo 2:0d2164f0ce0d
$ hg pull ../a
pulling from ../a
searching for changes
no changes found
warning: failed to assign numbered name to divergent bookmark X
divergent bookmark @ stored as @1
$ hg bookmarks | grep '^ @'
@ 1:9b140be10808
@1 2:0d2164f0ce0d
@foo 2:0d2164f0ce0d
Matt Harbison
tests: replace uses of 'seq' with portable 'seq.py'
r24361 $ python $TESTDIR/seq.py 1 100 | while read i; do hg bookmarks -d "X@${i}"; done
FUJIWARA Katsunori
bookmarks: prevent divergent bookmark from being updated unexpectedly...
r24353 $ hg bookmarks -d "@1"
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg push -f ../a
pushing to ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
$ hg -R ../a book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
David Soria Parra
localrepo: sort hg bookmark output...
r13388 * X 1:0d2164f0ce0d
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Y 0:4e3505fd9583
Z 1:0d2164f0ce0d
Mads Kiilerich
spelling: fixes from proofreading of spell checker issues
r23543 explicit pull should overwrite the local version (issue4439)
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199
liscju
bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
r29376 $ hg update -r X
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark X)
$ hg pull --config paths.foo=../a foo -B .
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199 pulling from $TESTTMP/a (glob)
no changes found
divergent bookmark @ stored as @foo
importing bookmark X
reinstall state for further testing:
$ hg book -fr 9b140be10808 X
Kevin Bullock
bookmarks: don't use bookmarks.listbookmarks in local computations...
r18495 revsets should not ignore divergent bookmarks
$ hg bookmark -fr 1 Z
$ hg log -r 'bookmark()' --template '{rev}:{node|short} {bookmarks}\n'
0:4e3505fd9583 Y
1:9b140be10808 @ X Z foobar
2:0d2164f0ce0d @foo X@foo
$ hg log -r 'bookmark("X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
2:0d2164f0ce0d @foo X@foo
$ hg log -r 'bookmark("re:X@foo")' --template '{rev}:{node|short} {bookmarks}\n'
2:0d2164f0ce0d @foo X@foo
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 update a remote bookmark from a non-head to a head
$ hg up -q Y
$ echo c3 > f2
$ hg ci -Am3
adding f2
created new head
$ hg push ../a
pushing to ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
updating bookmark Y
$ hg -R ../a book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 * X 1:0d2164f0ce0d
Y 3:f6fc62dde3c0
Z 1:0d2164f0ce0d
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 update a bookmark in the middle of a client pulling changes
$ cd ..
$ hg clone -q a pull-race
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442
We want to use http because it is stateless and therefore more susceptible to
race conditions
Jun Wu
tests: reorder hg serve commands...
r28549 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442 $ cat pull-race.pid >> $DAEMON_PIDS
$ hg clone -q http://localhost:$HGPORT/ pull-race2
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 $ cd pull-race
$ hg up -q Y
$ echo c4 > f2
$ hg ci -Am4
$ echo c5 > f3
$ cat <<EOF > .hg/hgrc
> [hooks]
> outgoing.makecommit = hg ci -Am5; echo committed in pull-race
> EOF
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442
(new config needs a server restart)
$ cd ..
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Jun Wu
tests: reorder hg serve commands...
r28549 $ hg serve -R pull-race -p $HGPORT -d --pid-file=pull-race.pid -E main-error.log
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442 $ cat pull-race.pid >> $DAEMON_PIDS
$ cd pull-race2
Pierre-Yves David
test: display pre-pull remote bookmark state when testing race condition...
r25441 $ hg -R $TESTTMP/pull-race book
@ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
* Y 4:b0a5eff05604
Z 1:0d2164f0ce0d
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 $ hg pull
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442 pulling from http://localhost:$HGPORT/
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 searching for changes
Pierre-Yves David
test: use bundle2 for exchange in test-bookmark-pushpull...
r25352 adding changesets
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating bookmark Y
(run 'hg update' to get a working copy)
$ hg book
* @ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
Y 4:b0a5eff05604
Z 1:0d2164f0ce0d
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 Update a bookmark right after the initial lookup -B (issue4689)
$ echo c6 > ../pull-race/f3 # to be committed during the race
$ cat <<EOF > ../pull-race/.hg/hgrc
> [hooks]
> # If anything to commit, commit it right after the first key listing used
> # during lookup. This makes the commit appear before the actual getbundle
> # call.
> listkeys.makecommit= ((hg st | grep -q M) && (hg commit -m race; echo commited in pull-race)) || exit 0
> EOF
(new config need server restart)
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Jun Wu
tests: reorder hg serve commands...
r28549 $ hg serve -R ../pull-race -p $HGPORT -d --pid-file=../pull-race.pid -E main-error.log
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 $ cat ../pull-race.pid >> $DAEMON_PIDS
$ hg -R $TESTTMP/pull-race book
@ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
* Y 5:35d1ef0a8d1b
Z 1:0d2164f0ce0d
liscju
bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
r29376 $ hg update -r Y
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
(activating bookmark Y)
$ hg pull -B .
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating bookmark Y
(run 'hg update' to get a working copy)
$ hg book
liscju
bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
r29376 @ 1:0d2164f0ce0d
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 X 1:0d2164f0ce0d
liscju
bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
r29376 * Y 5:35d1ef0a8d1b
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 Z 1:0d2164f0ce0d
Pierre-Yves David
test: pull through http when testing for race conditions...
r25442 (done with this section of the test)
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 $ cd ../b
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 diverging a remote bookmark fails
$ hg up -q 4e3505fd9583
$ echo c4 > f2
$ hg ci -Am4
adding f2
created new head
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 $ echo c5 > f2
$ hg ci -Am5
$ hg log -G
@ 5:c922c0139ca0 5
|
o 4:4efff6d98829 4
|
| o 3:f6fc62dde3c0 3
|/
| o 2:0d2164f0ce0d 1
|/
| o 1:9b140be10808 2
|/
o 0:4e3505fd9583 test
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 $ hg book -f Y
Sune Foldager
fix push of moved bookmark when creating new branch heads...
r17043
$ cat <<EOF > ../a/.hg/hgrc
> [web]
> push_ssl = false
> allow_push = *
> EOF
Jun Wu
tests: reorder hg serve commands...
r28549 $ hg serve -R ../a -p $HGPORT2 -d --pid-file=../hg2.pid
Sune Foldager
fix push of moved bookmark when creating new branch heads...
r17043 $ cat ../hg2.pid >> $DAEMON_PIDS
$ hg push http://localhost:$HGPORT2/
pushing to http://localhost:$HGPORT2/
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 searching for changes
Stephen Lee
discovery: if a push would create a new head, mention the bookmark name if any
r21580 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
FUJIWARA Katsunori
push: hide description about "-f" in the hint to prevent from using it easily...
r19934 (merge or see "hg help push" for details about pushing new heads)
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 [255]
$ hg -R ../a book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 * X 1:0d2164f0ce0d
Y 3:f6fc62dde3c0
Z 1:0d2164f0ce0d
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551
Unrelated marker does not alter the decision
$ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
$ hg push http://localhost:$HGPORT2/
pushing to http://localhost:$HGPORT2/
searching for changes
Stephen Lee
discovery: if a push would create a new head, mention the bookmark name if any
r21580 abort: push creates new remote head c922c0139ca0 with bookmark 'Y'!
FUJIWARA Katsunori
push: hide description about "-f" in the hint to prevent from using it easily...
r19934 (merge or see "hg help push" for details about pushing new heads)
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 [255]
$ hg -R ../a book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 * X 1:0d2164f0ce0d
Y 3:f6fc62dde3c0
Z 1:0d2164f0ce0d
Update to a successor works
$ hg id --debug -r 3
f6fc62dde3c0771e29704af56ba4d8af77abcc2f
$ hg id --debug -r 4
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 4efff6d98829d9c824c621afd6e3f01865f5439f
$ hg id --debug -r 5
c922c0139ca03858f655e4a2af4dd02796a63969 tip Y
Pierre-Yves David
bookmark: prevent crashing when a successor is unknown locally (issue3680)...
r17865 $ hg debugobsolete f6fc62dde3c0771e29704af56ba4d8af77abcc2f cccccccccccccccccccccccccccccccccccccccc
$ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc 4efff6d98829d9c824c621afd6e3f01865f5439f
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 $ hg push http://localhost:$HGPORT2/
pushing to http://localhost:$HGPORT2/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 remote: added 2 changesets with 2 changes to 1 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-bookmark-pushpull...
r25352 remote: 2 new obsolescence markers
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 updating bookmark Y
$ hg -R ../a book
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 1:0d2164f0ce0d
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 * X 1:0d2164f0ce0d
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 Y 5:c922c0139ca0
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 Z 1:0d2164f0ce0d
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 hgweb
$ cat <<EOF > .hg/hgrc
> [web]
> push_ssl = false
> allow_push = *
> EOF
$ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
$ cat ../hg.pid >> $DAEMON_PIDS
$ cd ../a
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg debugpushkey http://localhost:$HGPORT/ namespaces
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 bookmarks
namespaces
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 obsolete
Mads Kiilerich <mads at kiilerich.com>
debugpushkey: list keys sorted
r18255 phases
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg debugpushkey http://localhost:$HGPORT/ bookmarks
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 @ 9b140be1080824d768c5a4691a564088eede71f9
Mads Kiilerich <mads at kiilerich.com>
debugpushkey: list keys sorted
r18255 X 9b140be1080824d768c5a4691a564088eede71f9
Y c922c0139ca03858f655e4a2af4dd02796a63969
Kevin Bullock
bookmarks: don't use bookmarks.listbookmarks in local computations...
r18495 Z 9b140be1080824d768c5a4691a564088eede71f9
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 foo 0000000000000000000000000000000000000000
foobar 9b140be1080824d768c5a4691a564088eede71f9
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg out -B http://localhost:$HGPORT/
comparing with http://localhost:$HGPORT/
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show outgoing bookmarks more exactly...
r24658 @ 0d2164f0ce0d
X 0d2164f0ce0d
Z 0d2164f0ce0d
foo
foobar
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg push -B Z http://localhost:$HGPORT/
pushing to http://localhost:$HGPORT/
searching for changes
no changes found
Pierre-Yves David
push: gather all bookmark decisions together...
r22651 updating bookmark Z
Matt Mackall
push: don't treat bookmark as a found change...
r16038 [1]
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg book -d Z
$ hg in -B http://localhost:$HGPORT/
comparing with http://localhost:$HGPORT/
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show incoming bookmarks more exactly...
r24657 @ 9b140be10808
X 9b140be10808
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Z 0d2164f0ce0d
foo 000000000000
Matt Mackall
bookmarks: automatically advance bookmark on naked update (BC) (issue2894)
r15935 foobar 9b140be10808
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ hg pull -B Z http://localhost:$HGPORT/
pulling from http://localhost:$HGPORT/
no changes found
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 divergent bookmark @ stored as @1
Mads Kiilerich
bookmarks: process pulled remote bookmarks in sorted order
r18363 divergent bookmark X stored as X@1
adding remote bookmark Z
David M. Carr
bookmarks: when @ bookmark diverges, don't double the @ sign (BC)...
r17770 adding remote bookmark foo
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 adding remote bookmark foobar
David Soria Parra
hg: add support for cloning bookmarks
r13604 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
requesting all changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 added 5 changesets with 5 changes to 3 files (+2 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-bookmark-pushpull...
r25352 2 new obsolescence markers
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 * @ 1:9b140be10808
David Soria Parra
hg: add support for cloning bookmarks
r13604 X 1:9b140be10808
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 Y 4:c922c0139ca0
David Soria Parra
hg: add support for cloning bookmarks
r13604 Z 2:0d2164f0ce0d
foo -1:000000000000
Matt Mackall
bookmarks: automatically advance bookmark on naked update (BC) (issue2894)
r15935 foobar 1:9b140be10808
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Augie Fackler
test-bookmarks-pushpull.t: verify correct push -B behavior...
r17189 $ cd ..
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659 Test to show result of bookmarks comparision
$ mkdir bmcomparison
$ cd bmcomparison
$ hg init source
$ hg -R source debugbuilddag '+2*2*3*4'
$ hg -R source log -G --template '{rev}:{node|short}'
o 4:e7bd5218ca15
|
| o 3:6100d3090acf
|/
| o 2:fa942426a6fd
|/
| o 1:66f7d451a68b
|/
o 0:1ea73414a91b
$ hg -R source bookmarks -r 0 SAME
$ hg -R source bookmarks -r 0 ADV_ON_REPO1
$ hg -R source bookmarks -r 0 ADV_ON_REPO2
$ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO1
$ hg -R source bookmarks -r 0 DIFF_ADV_ON_REPO2
$ hg -R source bookmarks -r 1 DIVERGED
$ hg clone -U source repo1
(test that incoming/outgoing exit with 1, if there is no bookmark to
Mads Kiilerich
spelling: trivial spell checking
r26781 be exchanged)
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659
$ hg -R repo1 incoming -B
comparing with $TESTTMP/bmcomparison/source
searching for changed bookmarks
no changed bookmarks found
[1]
$ hg -R repo1 outgoing -B
comparing with $TESTTMP/bmcomparison/source
searching for changed bookmarks
no changed bookmarks found
[1]
$ hg -R repo1 bookmarks -f -r 1 ADD_ON_REPO1
$ hg -R repo1 bookmarks -f -r 2 ADV_ON_REPO1
$ hg -R repo1 bookmarks -f -r 3 DIFF_ADV_ON_REPO1
$ hg -R repo1 bookmarks -f -r 3 DIFF_DIVERGED
$ hg -R repo1 -q --config extensions.mq= strip 4
$ hg -R repo1 log -G --template '{node|short} ({bookmarks})'
o 6100d3090acf (DIFF_ADV_ON_REPO1 DIFF_DIVERGED)
|
| o fa942426a6fd (ADV_ON_REPO1)
|/
| o 66f7d451a68b (ADD_ON_REPO1 DIVERGED)
|/
o 1ea73414a91b (ADV_ON_REPO2 DIFF_ADV_ON_REPO2 SAME)
$ hg clone -U source repo2
$ hg -R repo2 bookmarks -f -r 1 ADD_ON_REPO2
$ hg -R repo2 bookmarks -f -r 1 ADV_ON_REPO2
$ hg -R repo2 bookmarks -f -r 2 DIVERGED
$ hg -R repo2 bookmarks -f -r 4 DIFF_ADV_ON_REPO2
$ hg -R repo2 bookmarks -f -r 4 DIFF_DIVERGED
$ hg -R repo2 -q --config extensions.mq= strip 3
$ hg -R repo2 log -G --template '{node|short} ({bookmarks})'
o e7bd5218ca15 (DIFF_ADV_ON_REPO2 DIFF_DIVERGED)
|
| o fa942426a6fd (DIVERGED)
|/
| o 66f7d451a68b (ADD_ON_REPO2 ADV_ON_REPO2)
|/
o 1ea73414a91b (ADV_ON_REPO1 DIFF_ADV_ON_REPO1 SAME)
(test that difference of bookmarks between repositories are fully shown)
$ hg -R repo1 incoming -B repo2 -v
comparing with repo2
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show detailed status about incoming bookmarks...
r24660 ADD_ON_REPO2 66f7d451a68b added
ADV_ON_REPO2 66f7d451a68b advanced
DIFF_ADV_ON_REPO2 e7bd5218ca15 changed
DIFF_DIVERGED e7bd5218ca15 changed
DIVERGED fa942426a6fd diverged
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659 $ hg -R repo1 outgoing -B repo2 -v
comparing with repo2
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show detailed status about outgoing bookmarks...
r24661 ADD_ON_REPO1 66f7d451a68b added
ADD_ON_REPO2 deleted
ADV_ON_REPO1 fa942426a6fd advanced
DIFF_ADV_ON_REPO1 6100d3090acf advanced
DIFF_ADV_ON_REPO2 1ea73414a91b changed
DIFF_DIVERGED 6100d3090acf changed
DIVERGED 66f7d451a68b diverged
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659
$ hg -R repo2 incoming -B repo1 -v
comparing with repo1
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show detailed status about incoming bookmarks...
r24660 ADD_ON_REPO1 66f7d451a68b added
ADV_ON_REPO1 fa942426a6fd advanced
DIFF_ADV_ON_REPO1 6100d3090acf changed
DIFF_DIVERGED 6100d3090acf changed
DIVERGED 66f7d451a68b diverged
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659 $ hg -R repo2 outgoing -B repo1 -v
comparing with repo1
searching for changed bookmarks
FUJIWARA Katsunori
bookmarks: show detailed status about outgoing bookmarks...
r24661 ADD_ON_REPO1 deleted
ADD_ON_REPO2 66f7d451a68b added
ADV_ON_REPO2 66f7d451a68b advanced
DIFF_ADV_ON_REPO1 1ea73414a91b changed
DIFF_ADV_ON_REPO2 e7bd5218ca15 advanced
DIFF_DIVERGED e7bd5218ca15 changed
DIVERGED fa942426a6fd diverged
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659
$ cd ..
Augie Fackler
test-bookmarks-pushpull.t: verify correct push -B behavior...
r17189 Pushing a bookmark should only push the changes required by that
bookmark, not all outgoing changes:
$ hg clone http://localhost:$HGPORT/ addmarks
requesting all changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
bookmark: complexity pull-push test to have deeper tree...
r17864 added 5 changesets with 5 changes to 3 files (+2 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-bookmark-pushpull...
r25352 2 new obsolescence markers
Adrian Buehlmann
clone: show status "updating to bookmark @"...
r17882 updating to bookmark @
Augie Fackler
test-bookmarks-pushpull.t: verify correct push -B behavior...
r17189 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd addmarks
$ echo foo > foo
$ hg add foo
$ hg commit -m 'add foo'
$ echo bar > bar
$ hg add bar
$ hg commit -m 'add bar'
$ hg co "tip^"
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark @)
Augie Fackler
test-bookmarks-pushpull.t: verify correct push -B behavior...
r17189 $ hg book add-foo
$ hg book -r tip add-bar
Note: this push *must* push only a single changeset, as that's the point
of this test.
Pierre-Yves David
checkheads: check successors for new heads in both missing and common...
r17548 $ hg push -B add-foo --traceback
Augie Fackler
test-bookmarks-pushpull.t: verify correct push -B behavior...
r17189 pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
exporting bookmark add-foo
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969
Stephen Lee
bookmarks: allow push -B to create a new remote head (issue2372)...
r20184 pushing a new bookmark on a new head does not require -f if -B is specified
$ hg up -q X
$ hg book W
$ echo c5 > f2
$ hg ci -Am5
created new head
liscju
bookmarks: allow pushing active bookmark on new remote head (issue5236)...
r29229 $ hg push -B .
Stephen Lee
bookmarks: allow push -B to create a new remote head (issue2372)...
r20184 pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files (+1 heads)
exporting bookmark W
$ hg -R ../b id -r W
cc978a373a53 tip W
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819 pushing an existing but divergent bookmark with -B still requires -f
Martijn Pieters
bookmarks: avoid creating a nested repository during testing...
r28082 $ hg clone -q . ../r
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819 $ hg up -q X
$ echo 1 > f2
$ hg ci -qAml
Martijn Pieters
bookmarks: avoid creating a nested repository during testing...
r28082 $ cd ../r
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819 $ hg up -q X
$ echo 2 > f2
$ hg ci -qAmr
$ hg push -B X
pushing to $TESTTMP/addmarks (glob)
searching for changes
remote has heads on branch 'default' that are not known locally: a2a606d9ff1b
abort: push creates new remote head 54694f811df9 with bookmark 'X'!
(pull and merge or see "hg help push" for details about pushing new heads)
[255]
Martijn Pieters
bookmarks: avoid creating a nested repository during testing...
r28082 $ cd ../addmarks
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819
FUJIWARA Katsunori
bookmarks: rewrite comparing bookmarks in commands.summary() by compare()...
r24400 Check summary output for incoming/outgoing bookmarks
$ hg bookmarks -d X
$ hg bookmarks -d Y
$ hg summary --remote | grep '^remote:'
remote: *, 2 incoming bookmarks, 1 outgoing bookmarks (glob)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Gregory Szorc
exchange: don't report failure from identical bookmarks...
r23082
pushing an unchanged bookmark should result in no changes
$ hg init unchanged-a
$ hg init unchanged-b
$ cd unchanged-a
$ echo initial > foo
$ hg commit -A -m initial
adding foo
$ hg bookmark @
$ hg push -B @ ../unchanged-b
pushing to ../unchanged-b
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
exporting bookmark @
$ hg push -B @ ../unchanged-b
pushing to ../unchanged-b
searching for changes
no changes found
[1]
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416
Check hook preventing push (issue4455)
======================================
$ hg bookmarks
* @ 0:55482a6fb4b1
$ hg log -G
@ 0:55482a6fb4b1 initial
$ hg init ../issue4455-dest
$ hg push ../issue4455-dest # changesets only
pushing to ../issue4455-dest
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
$ cat >> .hg/hgrc << EOF
> [paths]
> local=../issue4455-dest/
> ssh=ssh://user@dummy/issue4455-dest
> http=http://localhost:$HGPORT/
> [ui]
Matt Harbison
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation...
r25495 > ssh=python "$TESTDIR/dummyssh"
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 > EOF
$ cat >> ../issue4455-dest/.hg/hgrc << EOF
> [hooks]
> prepushkey=false
> [web]
> push_ssl = false
> allow_push = *
> EOF
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Jun Wu
tests: reorder hg serve commands...
r28549 $ hg serve -R ../issue4455-dest -p $HGPORT -d --pid-file=../issue4455.pid -E ../issue4455-error.log
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ cat ../issue4455.pid >> $DAEMON_PIDS
Local push
----------
$ hg push -B @ local
pushing to $TESTTMP/issue4455-dest (glob)
searching for changes
no changes found
pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
bookmarks: abort the whole push if bookmarks fails to update (BC)...
r25501 abort: exporting bookmark @ failed!
[255]
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Using ssh
---------
Pierre-Yves David
tests: remove all remaining usage of experimental.bundle2-exp...
r29688 $ hg push -B @ ssh # bundle2+
Pierre-Yves David
test: use both bundle formats in test-bookmarks-pushpull...
r25357 pushing to ssh://user@dummy/issue4455-dest
searching for changes
no changes found
remote: pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
bookmarks: abort the whole push if bookmarks fails to update (BC)...
r25501 abort: exporting bookmark @ failed!
[255]
Pierre-Yves David
test: use both bundle formats in test-bookmarks-pushpull...
r25357 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Pierre-Yves David
tests: use 'legacy.exchange' option in various mixed tests...
r29687 $ hg push -B @ ssh --config devel.legacy.exchange=bundle1
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 pushing to ssh://user@dummy/issue4455-dest
searching for changes
no changes found
remote: pushkey-abort: prepushkey hook exited with status 1
exporting bookmark @ failed!
[1]
$ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Using http
----------
Pierre-Yves David
tests: remove all remaining usage of experimental.bundle2-exp...
r29688 $ hg push -B @ http # bundle2+
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 pushing to http://localhost:$HGPORT/
searching for changes
no changes found
remote: pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
bookmarks: abort the whole push if bookmarks fails to update (BC)...
r25501 abort: exporting bookmark @ failed!
[255]
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Pierre-Yves David
test: use both bundle formats in test-bookmarks-pushpull...
r25357
Pierre-Yves David
tests: use 'legacy.exchange' option in various mixed tests...
r29687 $ hg push -B @ http --config devel.legacy.exchange=bundle1
Pierre-Yves David
test: use both bundle formats in test-bookmarks-pushpull...
r25357 pushing to http://localhost:$HGPORT/
searching for changes
no changes found
remote: pushkey-abort: prepushkey hook exited with status 1
exporting bookmark @ failed!
[1]
$ hg -R ../issue4455-dest/ bookmarks
no bookmarks set