##// END OF EJS Templates
dispatch: protect against malicious 'hg serve --stdio' invocations (sec)...
dispatch: protect against malicious 'hg serve --stdio' invocations (sec) Some shared-ssh installations assume that 'hg serve --stdio' is a safe command to run for minimally trusted users. Unfortunately, the messy implementation of argument parsing here meant that trying to access a repo named '--debugger' would give the user a pdb prompt, thereby sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S) is unaffected. We're not currently hardening any subcommands other than 'serve'. If your service exposes other commands to users with arbitrary repository names, it is imperative that you defend against repository names of '--debugger' and anything starting with '--config'. The read-only mode of hg-ssh stopped working because it provided its hook configuration to "hg serve --stdio" via --config parameter. This is banned for security reasons now. This patch switches it to directly call ui.setconfig(). If your custom hosting infrastructure relies on passing --config to "hg serve --stdio", you'll need to find a different way to get that configuration into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch, or by placing an hgrc file someplace where Mercurial will read it. mitrandir@fb.com provided some extra fixes for the dispatch code and for hg-ssh in places that I overlooked.

File last commit:

r28101:79437fb3 default
r32050:77eaf953 4.1.3 stable
Show More
test-rebase-bookmarks.t
212 lines | 4.4 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-bookmarks.t
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 > [alias]
> tglog = log -G --template "{rev}: '{desc}' bookmarks: {bookmarks}\n"
> EOF
Create a repo with several bookmarks
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Am A
adding a
$ echo b > b
$ hg ci -Am B
adding b
$ hg book 'X'
$ hg book 'Y'
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ echo c > c
$ hg ci -Am C
adding c
$ hg book 'Z'
$ hg up -q 0
$ echo d > d
$ hg ci -Am D
adding d
created new head
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 $ hg book W
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 @ 3: 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
| o 2: 'C' bookmarks: Y Z
| |
| o 1: 'B' bookmarks: X
|/
o 0: 'A' bookmarks:
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Move only rebased bookmarks
$ cd ..
$ hg clone -q a a1
$ cd a1
$ hg up -q Z
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 Test deleting divergent bookmarks from dest (issue3685)
$ hg book -r 3 Z@diverge
... and also test that bookmarks not on dest or not being moved aren't deleted
$ hg book -r 3 X@diverge
$ hg book -r 0 Y@diverge
$ hg tglog
o 3: 'D' bookmarks: W X@diverge Z@diverge
|
| @ 2: 'C' bookmarks: Y Z
| |
| o 1: 'B' bookmarks: X
|/
o 0: 'A' bookmarks: Y@diverge
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s Y -d 3
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-126f3e97-backup.hg (glob)
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 @ 3: 'C' bookmarks: Y Z
|
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 o 2: 'D' bookmarks: W X@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
| o 1: 'B' bookmarks: X
|/
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 o 0: 'A' bookmarks: Y@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523 Do not try to keep active but deleted divergent bookmark
$ cd ..
$ hg clone -q a a4
$ cd a4
$ hg up -q 2
$ hg book W@diverge
$ hg rebase -s W -d .
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:41acb9dca9eb "D" (tip W)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-b35a6a63-backup.hg (glob)
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523
$ hg bookmarks
W 3:0d3554f74897
X 1:6c81ed0049f8
Y 2:49cb3485fa0c
Z 2:49cb3485fa0c
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Keep bookmarks to the correct rebased changeset
$ cd ..
$ hg clone -q a a2
$ cd a2
$ hg up -q Z
$ hg rebase -s 1 -d 3
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 @ 3: 'C' bookmarks: Y Z
|
o 2: 'B' bookmarks: X
|
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 o 1: 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
o 0: 'A' bookmarks:
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Keep active bookmark on the correct changeset
$ cd ..
$ hg clone -q a a3
$ cd a3
$ hg up -q X
$ hg rebase -d W
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 3: 'C' bookmarks: Y Z
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 2: 'B' bookmarks: X
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
o 1: 'D' bookmarks: W
|
o 0: 'A' bookmarks:
Pierre-Yves David
rebase: preserve active bookmark when not at head (issue3813)...
r19926 $ hg bookmarks
W 1:41acb9dca9eb
* X 2:e926fccfa8ec
Y 3:3d5fa227f4b5
Z 3:3d5fa227f4b5
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 rebase --continue with bookmarks present (issue3802)
$ hg up 2
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark X)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'C' > c
$ hg add c
$ hg ci -m 'other C'
created new head
$ hg up 3
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
tests: add an explicit destination in some rebase tests...
r28101 $ hg rebase --dest 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 merging c
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 unresolved conflicts (see hg resolve, then hg rebase --continue)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'c' > c
$ hg resolve --mark c
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
rebase: hook afterresolvedstates
r27626 continue: hg rebase --continue
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg rebase --continue
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-c6ea2371-backup.hg (glob)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg tglog
@ 4: 'C' bookmarks: Y Z
|
o 3: 'other C' bookmarks:
|
o 2: 'B' bookmarks: X
|
o 1: 'D' bookmarks: W
|
o 0: 'A' bookmarks:
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Bryan O'Sullivan
rebase: handle bookmarks matching revset function names (issue3950)...
r19641 ensure that bookmarks given the names of revset functions can be used
as --rev arguments (issue3950)
$ hg update -q 3
$ echo bimble > bimble
$ hg add bimble
$ hg commit -q -m 'bisect'
$ echo e >> bimble
$ hg ci -m bisect2
$ echo e >> bimble
$ hg ci -m bisect3
$ hg book bisect
$ hg update -q Y
$ hg rebase -r '"bisect"^^::"bisect"^' -r bisect -d Z
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:345c90f326a4 "bisect"
rebasing 6:f677a2907404 "bisect2"
rebasing 7:325c16001345 "bisect3" (tip bisect)
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
r23835 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-b4840586-backup.hg (glob)