##// END OF EJS Templates
bookmarks: prevent pushes of divergent bookmarks (foo@remote)...
bookmarks: prevent pushes of divergent bookmarks (foo@remote) Before this change, such bookmarks are write-only: a client can push them but not pull/read them. And because these bookmark can't be read, even pushes are limited (for instance trying to delete such a bookmark fails with a vanilla client because the client thinks the bookmark is neither on the local nor the remote). This change makes the server refuses such bookmarks, and for earlier errors, makes the client refuse to send them. I think the change of behavior is acceptable because I think this is a bug in push/pull, and I don't think we change the behavior of `hg unbundle`, because it doesn't seem that `hg bundle` ever store bookmarks (and even if it did, it would seem weird anyway to try to send divergent bookmarks). Differential Revision: https://phab.mercurial-scm.org/D8117

File last commit:

r44854:8407031f default
r44854:8407031f default
Show More
test-bookmarks-pushpull.t
1366 lines | 40.7 KiB | text/troff | Tads3Lexer
/ tests / test-bookmarks-pushpull.t
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 #testcases b2-pushkey b2-binary
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265
#if b2-pushkey
$ cat << EOF >> $HGRCPATH
> [devel]
> legacy.exchange=bookmarks
> EOF
#endif
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]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Boris Feld
config: use 'experimental.evolution.exchange'...
r34869 > evolution.exchange=True
Pierre-Yves David
bookmark: take successors into account when updating (issue3561)...
r17551 > EOF
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
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
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg pull ../a --config "$TESTHOOK"
Will Maier
tests: add test for bookmark push/pull
r12303 pulling from ../a
requesting all changes
adding changesets
adding manifests
adding file changes
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
changegroup: move message about added changes to transaction summary...
r43167 added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 4e3505fd9583 (1 drafts)
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: X: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
test-hook-bookmark: Y: 0000000000000000000000000000000000000000 -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
test-hook-bookmark: Z: -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
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
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
#if b2-pushkey
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 $ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
Matt Mackall
bookmarks: move push/pull command features to core
r13368 pushing to ../a
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 query 1; heads
Matt Mackall
bookmarks: move push/pull command features to core
r13368 searching for changes
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 all remote heads known locally
listing keys for "phases"
checking for updated bookmarks
listing keys for "bookmarks"
Matt Mackall
bookmarks: move push/pull command features to core
r13368 no changes found
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-output-bundle: "HG20", 4 parts total
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: start emission of HG20 stream
bundle2-output: bundle parameter:
bundle2-output: start of parts
bundle2-output: bundle part: "replycaps"
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-output-part: "replycaps" 222 bytes payload
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: part 0: "REPLYCAPS"
bundle2-output: header chunk size: 16
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-output: payload chunk size: 222
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-output: closing payload chunk
bundle2-output: bundle part: "check:bookmarks"
bundle2-output-part: "check:bookmarks" 23 bytes payload
bundle2-output: part 1: "CHECK:BOOKMARKS"
bundle2-output: header chunk size: 22
bundle2-output: payload chunk size: 23
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: closing payload chunk
bundle2-output: bundle part: "check:phases"
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-output-part: "check:phases" 24 bytes payload
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-output: part 2: "CHECK:PHASES"
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: header chunk size: 19
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-output: payload chunk size: 24
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: closing payload chunk
bundle2-output: bundle part: "pushkey"
bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-output: part 3: "PUSHKEY"
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output: header chunk size: 90
bundle2-output: closing payload chunk
bundle2-output: end of bundle
bundle2-input: start processing of HG20 stream
bundle2-input: reading bundle2 stream parameters
bundle2-input-bundle: with-transaction
bundle2-input: start extraction of bundle2 parts
bundle2-input: part header size: 16
bundle2-input: part type: "REPLYCAPS"
bundle2-input: part id: "0"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part replycaps
bundle2-input-part: "replycaps" supported
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-input: payload chunk size: 222
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: payload chunk size: 0
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-input-part: total payload size 222
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-input: part header size: 22
bundle2-input: part type: "CHECK:BOOKMARKS"
bundle2-input: part id: "1"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part check:bookmarks
bundle2-input-part: "check:bookmarks" supported
bundle2-input: payload chunk size: 23
bundle2-input: payload chunk size: 0
bundle2-input-part: total payload size 23
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: part header size: 19
bundle2-input: part type: "CHECK:PHASES"
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-input: part id: "2"
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: part parameters: 0
bundle2-input: found a handler for part check:phases
bundle2-input-part: "check:phases" supported
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-input: payload chunk size: 24
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: payload chunk size: 0
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-input-part: total payload size 24
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: part header size: 90
bundle2-input: part type: "PUSHKEY"
Boris Feld
push: include a 'check:bookmarks' part when possible...
r35260 bundle2-input: part id: "3"
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-input: part parameters: 4
bundle2-input: found a handler for part pushkey
bundle2-input-part: "pushkey" (params: 4 mandatory) supported
pushing key for "bookmarks:W"
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 0
bundle2-input: end of bundle2 stream
Martin von Zweigbergk
bundle2: fix an off-by-one in debug message of number of parts...
r43201 bundle2-input-bundle: 4 parts total
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 bundle2-output-bundle: "HG20", 1 parts total
bundle2-output: start emission of HG20 stream
bundle2-output: bundle parameter:
bundle2-output: start of parts
bundle2-output: bundle part: "reply:pushkey"
bundle2-output-part: "reply:pushkey" (params: 0 advisory) empty payload
bundle2-output: part 0: "REPLY:PUSHKEY"
bundle2-output: header chunk size: 43
bundle2-output: closing payload chunk
bundle2-output: end of bundle
bundle2-input: start processing of HG20 stream
bundle2-input: reading bundle2 stream parameters
bundle2-input-bundle: no-transaction
bundle2-input: start extraction of bundle2 parts
bundle2-input: part header size: 43
bundle2-input: part type: "REPLY:PUSHKEY"
bundle2-input: part id: "0"
bundle2-input: part parameters: 2
bundle2-input: found a handler for part reply:pushkey
bundle2-input-part: "reply:pushkey" (params: 0 advisory) supported
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 0
bundle2-input: end of bundle2 stream
Martin von Zweigbergk
bundle2: fix an off-by-one in debug message of number of parts...
r43201 bundle2-input-bundle: 1 parts total
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 deleting remote bookmark W
Boris Feld
bookmark: use bundle2 debug output in one push tests...
r35031 listing keys for "phases"
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
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 #endif
#if b2-binary
$ hg push -B W ../a --config "$TESTHOOK" --debug --config devel.bundle2.debug=yes
pushing to ../a
query 1; heads
searching for changes
all remote heads known locally
listing keys for "phases"
checking for updated bookmarks
listing keys for "bookmarks"
no changes found
bundle2-output-bundle: "HG20", 4 parts total
bundle2-output: start emission of HG20 stream
bundle2-output: bundle parameter:
bundle2-output: start of parts
bundle2-output: bundle part: "replycaps"
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-output-part: "replycaps" 222 bytes payload
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: part 0: "REPLYCAPS"
bundle2-output: header chunk size: 16
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-output: payload chunk size: 222
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: closing payload chunk
bundle2-output: bundle part: "check:bookmarks"
bundle2-output-part: "check:bookmarks" 23 bytes payload
bundle2-output: part 1: "CHECK:BOOKMARKS"
bundle2-output: header chunk size: 22
bundle2-output: payload chunk size: 23
bundle2-output: closing payload chunk
bundle2-output: bundle part: "check:phases"
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-output-part: "check:phases" 24 bytes payload
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: part 2: "CHECK:PHASES"
bundle2-output: header chunk size: 19
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-output: payload chunk size: 24
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: closing payload chunk
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 bundle2-output: bundle part: "bookmarks"
bundle2-output-part: "bookmarks" 23 bytes payload
bundle2-output: part 3: "BOOKMARKS"
bundle2-output: header chunk size: 16
bundle2-output: payload chunk size: 23
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: closing payload chunk
bundle2-output: end of bundle
bundle2-input: start processing of HG20 stream
bundle2-input: reading bundle2 stream parameters
bundle2-input-bundle: with-transaction
bundle2-input: start extraction of bundle2 parts
bundle2-input: part header size: 16
bundle2-input: part type: "REPLYCAPS"
bundle2-input: part id: "0"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part replycaps
bundle2-input-part: "replycaps" supported
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-input: payload chunk size: 222
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: payload chunk size: 0
Boris Feld
revbranchcache: advertise and use 'rbc' exchange capability...
r36986 bundle2-input-part: total payload size 222
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: part header size: 22
bundle2-input: part type: "CHECK:BOOKMARKS"
bundle2-input: part id: "1"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part check:bookmarks
bundle2-input-part: "check:bookmarks" supported
bundle2-input: payload chunk size: 23
bundle2-input: payload chunk size: 0
bundle2-input-part: total payload size 23
bundle2-input: part header size: 19
bundle2-input: part type: "CHECK:PHASES"
bundle2-input: part id: "2"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part check:phases
bundle2-input-part: "check:phases" supported
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-input: payload chunk size: 24
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: payload chunk size: 0
Boris Feld
remotephase: avoid full changelog iteration (issue5964)...
r39182 bundle2-input-part: total payload size 24
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 bundle2-input: part header size: 16
bundle2-input: part type: "BOOKMARKS"
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: part id: "3"
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 bundle2-input: part parameters: 0
bundle2-input: found a handler for part bookmarks
bundle2-input-part: "bookmarks" supported
bundle2-input: payload chunk size: 23
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: payload chunk size: 0
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 bundle2-input-part: total payload size 23
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-input: part header size: 0
bundle2-input: end of bundle2 stream
Martin von Zweigbergk
bundle2: fix an off-by-one in debug message of number of parts...
r43201 bundle2-input-bundle: 4 parts total
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 running hook txnclose-bookmark.test: sh $TESTTMP/hook.sh
test-hook-bookmark: W: 0000000000000000000000000000000000000000 ->
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 bundle2-output-bundle: "HG20", 0 parts total
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 bundle2-output: start emission of HG20 stream
bundle2-output: bundle parameter:
bundle2-output: start of parts
bundle2-output: end of bundle
bundle2-input: start processing of HG20 stream
bundle2-input: reading bundle2 stream parameters
bundle2-input-bundle: no-transaction
bundle2-input: start extraction of bundle2 parts
bundle2-input: part header size: 0
bundle2-input: end of bundle2 stream
bundle2-input-bundle: 0 parts total
deleting remote bookmark W
listing keys for "phases"
[1]
#endif
Valentin Gatien-Baron
bookmarks: prevent pushes of divergent bookmarks (foo@remote)...
r44854 Divergent bookmark cannot be exported
$ hg book W@default
$ hg push -B W@default ../a
pushing to ../a
searching for changes
cannot push divergent bookmark W@default!
no changes found
[2]
$ hg book -d W@default
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
Yuya Nishihara
bookmarks: adjust exception type so present(bookmark(.)) works as expected
r39340 abort: no active bookmark!
liscju
bookmarks: abort 'push -B .' when no active bookmark
r29354 [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
Yuya Nishihara
dispatch: do not drop unpaired argument at _earlygetopt()...
r35056 $ hg up
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 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
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg pull --config paths.foo=../a foo --config "$TESTHOOK"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pulling from $TESTTMP/a
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 searching for changes
adding changesets
adding manifests
adding file changes
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
changegroup: move message about added changes to transaction summary...
r43167 added 1 changesets with 1 changes to 1 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 0d2164f0ce0d (1 drafts)
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: @foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
test-hook-bookmark: X@foo: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
test-hook-bookmark: Z: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
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: quote PYTHON usage...
r39743 $ "$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: quote PYTHON usage...
r39743 $ "$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)
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg pull --config paths.foo=../a foo -B . --config "$TESTHOOK"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pulling from $TESTTMP/a
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199 no changes found
divergent bookmark @ stored as @foo
importing bookmark X
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: @foo: 0d2164f0ce0d8f1d6f94351eba04b794909be66c -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
test-hook-bookmark: X: 9b140be1080824d768c5a4691a564088eede71f9 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
Pierre-Yves David
bookmarks: fix formatting of exchange message (issue4439)...
r23199
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
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg push ../a --config "$TESTHOOK"
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 pushing to ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 test-hook-bookmark: Y: 4e3505fd95835d721066b76e75dbb8cc554d7f77 -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
Levi Bard
bookmarks: allow existing remote bookmarks to become heads when pushing
r16835 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
Matt Harbison
test-bookmarks: factor hooks out to a shell script for Windows...
r32077 $ cat <<EOF > $TESTTMP/out_makecommit.sh
> #!/bin/sh
> hg ci -Am5
> echo committed in pull-race
> EOF
Boris Feld
bookmark: add a dedicated txnclose-bookmark hook...
r34709 $ hg clone -q http://localhost:$HGPORT/ pull-race2 --config "$TESTHOOK"
test-hook-bookmark: @: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
test-hook-bookmark: X: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
test-hook-bookmark: Y: -> f6fc62dde3c0771e29704af56ba4d8af77abcc2f
test-hook-bookmark: Z: -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
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]
Matt Harbison
test-bookmarks: factor hooks out to a shell script for Windows...
r32077 > outgoing.makecommit = sh $TESTTMP/out_makecommit.sh
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 > 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
changegroup: move message about added changes to transaction summary...
r43167 updating bookmark Y
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets b0a5eff05604 (1 drafts)
Siddharth Agarwal
pull: list bookmarks before pulling changesets (issue3873)...
r18851 (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
Matt Harbison
test-bookmarks: factor hooks out to a shell script for Windows...
r32077 $ cat <<EOF > $TESTTMP/listkeys_makecommit.sh
> #!/bin/sh
> if hg st | grep -q M; then
> hg commit -m race
> echo committed in pull-race
> else
> exit 0
> fi
> EOF
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 $ 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.
Matt Harbison
test-bookmarks: factor hooks out to a shell script for Windows...
r32077 > listkeys.makecommit= sh $TESTTMP/listkeys_makecommit.sh
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 > EOF
Valentin Gatien-Baron
test-bookmarks-pushpull: add failing test of issue4700...
r41055 $ restart_server() {
> "$TESTDIR/killdaemons.py" $DAEMON_PIDS
> hg serve -R ../pull-race -p $HGPORT -d --pid-file=../pull-race.pid -E main-error.log
> cat ../pull-race.pid >> $DAEMON_PIDS
> }
$ restart_server # new config need server restart
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 $ 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
changegroup: move message about added changes to transaction summary...
r43167 updating bookmark Y
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 35d1ef0a8d1b (1 drafts)
Pierre-Yves David
pull: prevent race condition in bookmark update when using -B (issue4689)...
r25446 (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
Valentin Gatien-Baron
test-bookmarks-pushpull: add failing test of issue4700...
r41055 Update a bookmark right after the initial lookup -r (issue4700)
$ echo c7 > ../pull-race/f3 # to be committed during the race
$ cat <<EOF > ../lookuphook.py
> """small extensions adding a hook after wireprotocol lookup to test race"""
> import functools
> from mercurial import wireprotov1server, wireprotov2server
>
> def wrappedlookup(orig, repo, *args, **kwargs):
> ret = orig(repo, *args, **kwargs)
> repo.hook(b'lookup')
> return ret
> for table in [wireprotov1server.commands, wireprotov2server.COMMANDS]:
> table[b'lookup'].func = functools.partial(wrappedlookup, table[b'lookup'].func)
> EOF
$ cat <<EOF > ../pull-race/.hg/hgrc
> [extensions]
> lookuphook=$TESTTMP/lookuphook.py
> [hooks]
> lookup.makecommit= sh $TESTTMP/listkeys_makecommit.sh
> EOF
$ restart_server # new config need server restart
$ hg -R $TESTTMP/pull-race book
@ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
* Y 6:0d60821d2197
Z 1:0d2164f0ce0d
$ hg pull -r Y
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
changegroup: move message about added changes to transaction summary...
r43167 updating bookmark Y
Valentin Gatien-Baron
test-bookmarks-pushpull: add failing test of issue4700...
r41055 added 1 changesets with 1 changes to 1 files
new changesets 0d60821d2197 (1 drafts)
(run 'hg update' to get a working copy)
$ hg book
@ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
Valentin Gatien-Baron
pull: fix inconsistent view of bookmarks during pull (issue4700)...
r41081 * Y 6:0d60821d2197
Valentin Gatien-Baron
test-bookmarks-pushpull: add failing test of issue4700...
r41055 Z 1:0d2164f0ce0d
$ hg -R $TESTTMP/pull-race book
@ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
* Y 7:714424d9e8b8
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'!
timeless
discovery: use single quotes in use warning
r29973 (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
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
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
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'!
timeless
discovery: use single quotes in use warning
r29973 (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
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
bookmark: prevent crashing when a successor is unknown locally (issue3680)...
r17865 $ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc 4efff6d98829d9c824c621afd6e3f01865f5439f
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
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
obsolete: reports the number of local changeset obsoleted when unbundling...
r33249 remote: obsoleted 1 changesets
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
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 4e3505fd9583:c922c0139ca0 (5 drafts)
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 ..
Mads Kiilerich
spelling: fixes of non-dictionary words
r30332 Test to show result of bookmarks comparison
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659
$ 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
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/bmcomparison/source
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659 searching for changed bookmarks
no changed bookmarks found
[1]
$ hg -R repo1 outgoing -B
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/bmcomparison/source
FUJIWARA Katsunori
bookmarks: enhance test of showing detail about incoming/outgoing bookmarks
r24659 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
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 4e3505fd9583:c922c0139ca0 (5 drafts)
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
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/addmarks
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819 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'!
timeless
discovery: use single quotes in use warning
r29973 (pull and merge or see 'hg help push' for details about pushing new heads)
Matt Mackall
bookmarks: don't allow pushing new head for existing mark with -B (issue4400)
r26819 [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]
Augie Fackler
bookmarks: test for exchanging long bookmark names (issue5165)...
r36807 Pushing a really long bookmark should work fine (issue5165)
===============================================
#if b2-binary
Yuya Nishihara
py3: suppress write() result and close file in test-bookmarks-pushpull.t
r38625 >>> with open('longname', 'w') as f:
... f.write('wat' * 100) and None
Augie Fackler
bookmarks: test for exchanging long bookmark names (issue5165)...
r36807 $ hg book `cat longname`
$ hg push -B `cat longname` ../unchanged-b
pushing to ../unchanged-b
searching for changes
no changes found
exporting bookmark (wat){100} (re)
[1]
$ hg -R ../unchanged-b book --delete `cat longname`
Test again but forcing bundle2 exchange to make sure that doesn't regress.
$ hg push -B `cat longname` ../unchanged-b --config devel.legacy.exchange=bundle1
pushing to ../unchanged-b
searching for changes
no changes found
exporting bookmark (wat){100} (re)
[1]
$ hg -R ../unchanged-b book --delete `cat longname`
$ hg book --delete `cat longname`
$ hg co @
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark @)
#endif
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: quote PYTHON usage...
r39743 > 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
----------
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 #if b2-pushkey
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ hg push -B @ local
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/issue4455-dest
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 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]
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
#endif
#if b2-binary
$ hg push -B @ local
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/issue4455-dest
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 searching for changes
no changes found
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 abort: prepushkey hook exited with status 1
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 [255]
#endif
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Using ssh
---------
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 #if b2-pushkey
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]
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
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]
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
#endif
#if b2-binary
$ hg push -B @ ssh # bundle2+
pushing to ssh://user@dummy/issue4455-dest
searching for changes
no changes found
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 remote: prepushkey hook exited with status 1
abort: push failed on remote
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 [255]
#endif
Pierre-Yves David
pushkey: gracefully handle prepushkey hook failure (issue4455)...
r23416 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Using http
----------
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 #if b2-pushkey
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]
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
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]
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264
#endif
#if b2-binary
$ hg push -B @ ssh # bundle2+
pushing to ssh://user@dummy/issue4455-dest
searching for changes
no changes found
Boris Feld
bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)...
r35265 remote: prepushkey hook exited with status 1
abort: push failed on remote
Boris Feld
bookmark: introduce in advance a variant of the exchange test...
r35264 [255]
#endif
Pierre-Yves David
test: use both bundle formats in test-bookmarks-pushpull...
r25357 $ hg -R ../issue4455-dest/ bookmarks
no bookmarks set
Boris Feld
bookmarks: fix pushkey compatibility mode (issue5777)...
r35829
$ cd ..
Test that pre-pushkey compat for bookmark works as expected (issue5777)
$ cat << EOF >> $HGRCPATH
> [ui]
> ssh="$PYTHON" "$TESTDIR/dummyssh"
> [server]
> bookmarks-pushkey-compat = yes
> EOF
$ hg init server
$ echo foo > server/a
$ hg -R server book foo
$ hg -R server commit -Am a
adding a
$ hg clone ssh://user@dummy/server client
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 79513d0d7716 (1 drafts)
Boris Feld
bookmarks: fix pushkey compatibility mode (issue5777)...
r35829 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Forbid bookmark move on the server
Mark Thomas
test-bookmarks-pushpull: use correct tmp dir for no-bm-move.sh...
r40267 $ cat << EOF >> $TESTTMP/no-bm-move.sh
Matt Harbison
test-bookmarks-pushpull: stabilize for Windows
r35834 > #!/bin/sh
> echo \$HG_NAMESPACE | grep -v bookmarks
> EOF
Boris Feld
bookmarks: fix pushkey compatibility mode (issue5777)...
r35829 $ cat << EOF >> server/.hg/hgrc
> [hooks]
Mark Thomas
test-bookmarks-pushpull: use correct tmp dir for no-bm-move.sh...
r40267 > prepushkey.no-bm-move= sh $TESTTMP/no-bm-move.sh
Boris Feld
bookmarks: fix pushkey compatibility mode (issue5777)...
r35829 > EOF
pushing changeset is okay
$ echo bar >> client/a
$ hg -R client commit -m b
$ hg -R client push
pushing to ssh://user@dummy/server
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
attempt to move the bookmark is rejected
$ hg -R client book foo -r .
moving bookmark 'foo' forward from 79513d0d7716
#if b2-pushkey
$ hg -R client push
pushing to ssh://user@dummy/server
searching for changes
no changes found
remote: pushkey-abort: prepushkey.no-bm-move hook exited with status 1
abort: updating bookmark foo failed!
[255]
#endif
#if b2-binary
$ hg -R client push
pushing to ssh://user@dummy/server
searching for changes
no changes found
remote: prepushkey.no-bm-move hook exited with status 1
abort: push failed on remote
[255]
#endif
Navaneeth Suresh
tests: add test to demonstrate issue6159...
r43081
-- test for pushing bookmarks pointing to secret changesets
Set up a "remote" repo
$ hg init issue6159remote
$ cd issue6159remote
$ echo a > a
$ hg add a
$ hg commit -m_
$ hg bookmark foo
$ cd ..
Clone a local repo
$ hg clone -q issue6159remote issue6159local
$ cd issue6159local
$ hg up -qr foo
$ echo b > b
Move the bookmark "foo" to point at a secret changeset
$ hg commit -qAm_ --config phases.new-commit=secret
Pushing the bookmark "foo" now fails as it contains a secret changeset
$ hg push -r foo
pushing to $TESTTMP/issue6159remote
searching for changes
no changes found (ignored 1 secret changesets)
Navaneeth Suresh
exchange: abort on pushing bookmarks pointing to secret changesets (issue6159)...
r43082 abort: cannot push bookmark foo as it points to a secret changeset
Navaneeth Suresh
tests: add test to demonstrate issue6159...
r43081 [255]