##// END OF EJS Templates
revlog: subclass the new `repository.iverifyproblem` Protocol class...
revlog: subclass the new `repository.iverifyproblem` Protocol class This is the same transformation as 3a90a6fd710d did for dirstate, but the CamelCase naming was already cleaned up here. We shouldn't have to explicitly subclass, but I'm doing so to test the interplay of regular attributes and the `attrs` class. Also, PyCharm has a nifty feature that puts a jump point in the gutter to navigate back and forth between the base class and subclasses (and override functions and base class functions) when there's an explicit subclassing. Additionally, PyCharm will immediately flag signature mismatches without a 40m pytype run.

File last commit:

r52074:dcaa2df1 default
r53365:4ef6dbc2 default
Show More
test-ssh-bundle1.t
585 lines | 16.3 KiB | text/troff | Tads3Lexer
/ tests / test-ssh-bundle1.t
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 This test is a duplicate of 'test-http.t' feel free to factor out
parts that are not bundle1/bundle2 specific.
$ cat << EOF >> $HGRCPATH
Pierre-Yves David
tests: use 'legacy.exchange' option in various bundle1 tests...
r29686 > [devel]
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > # This test is dedicated to interaction through old bundle
Pierre-Yves David
tests: use 'legacy.exchange' option in various bundle1 tests...
r29686 > legacy.exchange = bundle1
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > EOF
This test tries to exercise the ssh functionality with a dummy script
creating 'remote' repo
$ hg init remote
$ cd remote
$ echo this > foo
$ echo this > fooO
$ hg ci -A -m "init" foo fooO
insert a closed branch (issue4428)
$ hg up null
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg branch closed
marked working directory as branch closed
(branches are permanent and global, did you want a bookmark?)
$ hg ci -mc0
$ hg ci --close-branch -mc1
$ hg up -q default
configure for serving
$ cat <<EOF > .hg/hgrc
> [server]
> uncompressed = True
>
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 > changegroup = sh -c "printenv.py --line changegroup-in-remote 0 ../dummylog"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > EOF
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
repo not found error
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone ssh://user@dummy/nonexistent local
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 remote: abort: repository nonexistent not found
abort: no suitable response from remote hg
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
non-existent absolute path
Matt Harbison
tests: conditionalize out tests that msys is mangling...
r39225 #if no-msys
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone ssh://user@dummy//`pwd`/nonexistent local
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 remote: abort: repository /$TESTTMP/nonexistent not found
abort: no suitable response from remote hg
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
Matt Harbison
tests: conditionalize out tests that msys is mangling...
r39225 #endif
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
clone remote via stream
Gregory Szorc
tests: disable tests for advanced clone features with simple store...
r37367 #if no-reposimplestore
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone --stream ssh://user@dummy/remote local-stream
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 streaming all changes
changelog: never inline changelog...
r52074 5 files to transfer, 602 bytes of data (no-zstd !)
revlog-compression: use zstd by default (if available)...
r47636 transferred 602 bytes in * seconds (*) (glob) (no-zstd !)
changelog: never inline changelog...
r52074 5 files to transfer, 621 bytes of data (zstd no-rust !)
transferred 621 bytes in * seconds (* */sec) (glob) (zstd no-rust !)
7 files to transfer, 747 bytes of data (zstd rust !)
transferred 747 bytes in * seconds (*/sec) (glob) (zstd rust !)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 searching for changes
no changes found
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd local-stream
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg verify -q
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 $ hg branches
default 0:1160648e36ce
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
clone bookmarks via stream
$ hg -R local-stream book mybook
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone --stream ssh://user@dummy/local-stream stream2
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 streaming all changes
changelog: never inline changelog...
r52074 5 files to transfer, 602 bytes of data (no-zstd !)
revlog-compression: use zstd by default (if available)...
r47636 transferred 602 bytes in * seconds (*) (glob) (no-zstd !)
changelog: never inline changelog...
r52074 5 files to transfer, 621 bytes of data (zstd no-rust !)
transferred 621 bytes in * seconds (* */sec) (glob) (zstd no-rust !)
7 files to transfer, 747 bytes of data (zstd rust !)
transferred 747 bytes in * seconds (*/sec) (glob) (zstd rust !)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 searching for changes
no changes found
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd stream2
$ hg book
mybook 0:1160648e36ce
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 $ rm -rf local-stream stream2
Gregory Szorc
tests: disable tests for advanced clone features with simple store...
r37367 #endif
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 clone remote via pull
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone ssh://user@dummy/remote local
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 2 changes to 2 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 1160648e36ce:ad076bfb429d
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
verify
$ cd local
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg verify -q
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 > changegroup = sh -c "printenv.py --line changegroup-in-local 0 ../dummylog"
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 > EOF
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
empty default pull
$ hg paths
default = ssh://user@dummy/remote
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg pull
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 pulling from ssh://user@dummy/remote
searching for changes
no changes found
pull from wrong ssh URL
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg pull ssh://user@dummy/doesnotexist
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 pulling from ssh://user@dummy/doesnotexist
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 remote: abort: repository doesnotexist not found
abort: no suitable response from remote hg
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
local change
$ echo bleah > foo
$ hg ci -m "add"
updating rc
$ echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc
find outgoing
$ hg out ssh://user@dummy/remote
comparing with ssh://user@dummy/remote
searching for changes
changeset: 3:a28a9d1a809c
tag: tip
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
find incoming on the remote side
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg incoming -R ../remote ssh://user@dummy/local
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 comparing with ssh://user@dummy/local
searching for changes
changeset: 3:a28a9d1a809c
tag: tip
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
find incoming on the remote side (using absolute path)
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg incoming -R ../remote "ssh://user@dummy/`pwd`"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 comparing with ssh://user@dummy/$TESTTMP/local
searching for changes
changeset: 3:a28a9d1a809c
tag: tip
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
push
$ hg push
pushing to ssh://user@dummy/remote
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP/remote
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
check remote tip
$ hg tip
changeset: 3:a28a9d1a809c
tag: tip
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg verify -q
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 $ hg cat -r tip foo
bleah
$ echo z > z
$ hg ci -A -m z z
created new head
test pushkeys and bookmarks
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP/local
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg debugpushkey ssh://user@dummy/remote namespaces
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 bookmarks
namespaces
phases
$ hg book foo -r 0
$ hg out -B
comparing with ssh://user@dummy/remote
searching for changed bookmarks
foo 1160648e36ce
$ hg push -B foo
pushing to ssh://user@dummy/remote
searching for changes
no changes found
exporting bookmark foo
[1]
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg debugpushkey ssh://user@dummy/remote bookmarks
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 foo 1160648e36cec0054048a7edc4110c6f84fde594
$ hg book -f foo
$ hg push --traceback
pushing to ssh://user@dummy/remote
searching for changes
no changes found
updating bookmark foo
[1]
$ hg book -d foo
$ hg in -B
comparing with ssh://user@dummy/remote
searching for changed bookmarks
foo a28a9d1a809c
$ hg book -f -r 0 foo
$ hg pull -B foo
pulling from ssh://user@dummy/remote
no changes found
updating bookmark foo
$ hg book -d foo
$ hg push -B foo
pushing to ssh://user@dummy/remote
searching for changes
no changes found
deleting remote bookmark foo
[1]
a bad, evil hook that prints to stdout
$ cat <<EOF > $TESTTMP/badhook
> import sys
> sys.stdout.write("KABOOM\n")
> EOF
$ echo '[hooks]' >> ../remote/.hg/hgrc
Matt Harbison
tests: quote $PYTHON for Windows...
r33335 $ echo "changegroup.stdout = \"$PYTHON\" $TESTTMP/badhook" >> ../remote/.hg/hgrc
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 $ echo r > r
$ hg ci -A -m z r
push should succeed even though it has an unexpected response
$ hg push
pushing to ssh://user@dummy/remote
searching for changes
remote has heads on branch 'default' that are not known locally: 6c0482d977a3
remote: adding changesets
remote: adding manifests
remote: adding file changes
Matt Harbison
tests: drop `(py3 !)` output matching predicates...
r50772 remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 remote: KABOOM
$ hg -R ../remote heads
changeset: 5:1383141674ec
tag: tip
parent: 3:a28a9d1a809c
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: z
changeset: 4:6c0482d977a3
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: z
clone bookmarks
$ hg -R ../remote bookmark test
$ hg -R ../remote bookmarks
* test 4:6c0482d977a3
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone ssh://user@dummy/remote local-bookmarks
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 requesting all changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 5 changes to 4 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 1160648e36ce:1383141674ec
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R local-bookmarks bookmarks
test 4:6c0482d977a3
passwords in ssh urls are not supported
(we use a glob here because different Python versions give different
results here)
$ hg push ssh://user:erroneouspwd@dummy/remote
pushing to ssh://user:*@dummy/remote (glob)
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: password in URL not supported
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
hide outer repo
$ hg init
Test remote paths with spaces (issue2983):
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg init "ssh://user@dummy/a repo"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 $ touch "$TESTTMP/a repo/test"
$ hg -R 'a repo' commit -A -m "test"
adding test
$ hg -R 'a repo' tag tag
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg id "ssh://user@dummy/a repo"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 73649e48688a
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg id "ssh://user@dummy/a repo#noNoNO"
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: unknown revision 'noNoNO'
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
Test (non-)escaping of remote paths with spaces when cloning (issue3145):
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg clone "ssh://user@dummy/a repo"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 destination directory: a repo
abort: destination 'a repo' is not empty
Martin von Zweigbergk
errors: use InputError for some errors on `hg clone`...
r46451 [10]
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
Test hg-ssh using a helper script that will restore PYTHONPATH (which might
have been cleared by a hg.exe wrapper) and invoke hg-ssh with the right
parameters:
$ cat > ssh.sh << EOF
> userhost="\$1"
> SSH_ORIGINAL_COMMAND="\$2"
> export SSH_ORIGINAL_COMMAND
> PYTHONPATH="$PYTHONPATH"
> export PYTHONPATH
Matt Harbison
tests: quote $PYTHON for Windows...
r33335 > "$PYTHON" "$TESTDIR/../contrib/hg-ssh" "$TESTTMP/a repo"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > EOF
$ hg id --ssh "sh ssh.sh" "ssh://user@dummy/a repo"
73649e48688a
$ hg id --ssh "sh ssh.sh" "ssh://user@dummy/a'repo"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 remote: Illegal repository "$TESTTMP/a'repo"
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: no suitable response from remote hg
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
$ hg id --ssh "sh ssh.sh" --remotecmd hacking "ssh://user@dummy/a'repo"
remote: Illegal command "hacking -R 'a'\''repo' serve --stdio"
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: no suitable response from remote hg
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
Matt Harbison
tests: quote PYTHON usage...
r39743 $ SSH_ORIGINAL_COMMAND="'hg' serve -R 'a'repo' --stdio" "$PYTHON" "$TESTDIR/../contrib/hg-ssh"
Jun Wu
tests: reorder hg serve commands...
r28549 Illegal command "'hg' serve -R 'a'repo' --stdio": No closing quotation
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 [255]
Test hg-ssh in read-only mode:
$ cat > ssh.sh << EOF
> userhost="\$1"
> SSH_ORIGINAL_COMMAND="\$2"
> export SSH_ORIGINAL_COMMAND
> PYTHONPATH="$PYTHONPATH"
> export PYTHONPATH
Matt Harbison
tests: quote $PYTHON for Windows...
r33335 > "$PYTHON" "$TESTDIR/../contrib/hg-ssh" --read-only "$TESTTMP/remote"
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > EOF
$ hg clone --ssh "sh ssh.sh" "ssh://user@dummy/$TESTTMP/remote" read-only-local
requesting all changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 5 changes to 4 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 1160648e36ce:1383141674ec
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd read-only-local
$ echo "baz" > bar
$ hg ci -A -m "unpushable commit" bar
$ hg push --ssh "sh ../ssh.sh"
pushing to ssh://user@dummy/*/remote (glob)
searching for changes
Arseniy Alekseyev
tests: add a rewriting step to detect EACCES errors
r51215 remote: $EACCES$
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 remote: abort: pretxnopen.hg-ssh hook failed
Arseniy Alekseyev
tests: add a rewriting step to detect EACCES errors
r51215 remote: $EACCES$
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 remote: pushkey-abort: prepushkey.hg-ssh hook failed
updating 6c0482d977a3 to public failed!
[1]
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
stderr from remote commands should be printed before stdout from local code (issue4336)
$ hg clone remote stderr-ordering
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd stderr-ordering
$ cat >> localwrite.py << EOF
> from mercurial import exchange, extensions
>
> def wrappedpush(orig, repo, *args, **kwargs):
> res = orig(repo, *args, **kwargs)
Pulkit Goyal
py3: add b'' prefixes in tests/test-ssh.t and tests/test-ssh-bundle1.t...
r38120 > repo.ui.write(b'local stdout\n')
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > return res
>
> def extsetup(ui):
wrapfunction: use sysstr instead of bytes as argument in various tests...
r51692 > extensions.wrapfunction(exchange, 'push', wrappedpush)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 > EOF
$ cat >> .hg/hgrc << EOF
> [paths]
> default-push = ssh://user@dummy/remote
> [extensions]
> localwrite = localwrite.py
> EOF
$ echo localwrite > foo
$ hg commit -m 'testing localwrite'
$ hg push
pushing to ssh://user@dummy/remote
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
Matt Harbison
tests: drop `(py3 !)` output matching predicates...
r50772 remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 remote: KABOOM
local stdout
debug output
$ hg pull --debug ssh://user@dummy/remote
pulling from ssh://user@dummy/remote
Valentin Gatien-Baron
tests: setup dummyssh as the default ssh...
r48731 running .* ".*[/\\]dummyssh" ['"]user@dummy['"] ['"]hg -R remote serve --stdio['"] (re)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 sending hello command
sending between command
stream-requirements: smoother matching in test-ssh-bundle1.t...
r49496 remote: \d+ (re)
remote: capabilities: batch branchmap \$USUAL_BUNDLE2_CAPS\$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=[^ ,]+(,[^ ,]+)* unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (re)
Raphaël Gomès
exchangev2: remove it...
r49357 remote: 1
Joerg Sonnenberger
wireproto: provide accessors for client capabilities...
r37411 sending protocaps command
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 preparing listkeys for "bookmarks"
sending listkeys command
received listkey for "bookmarks": 45 bytes
query 1; heads
sending batch command
searching for changes
all remote heads known locally
no changes found
preparing listkeys for "phases"
sending listkeys command
received listkey for "phases": 15 bytes
checking for updated bookmarks
Matt Harbison
tests: replace `cd ..` with an absolute path in a couple ssh tests...
r40305 $ cd $TESTTMP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375
$ cat dummylog
Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio
Matt Harbison
tests: conditionalize out tests that msys is mangling...
r39225 Got arguments 1:user@dummy 2:hg -R /$TESTTMP/nonexistent serve --stdio (no-msys !)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Gregory Szorc
tests: disable tests for advanced clone features with simple store...
r37367 Got arguments 1:user@dummy 2:hg -R local-stream serve --stdio (no-reposimplestore !)
Got arguments 1:user@dummy 2:hg -R remote serve --stdio (no-reposimplestore !)
Got arguments 1:user@dummy 2:hg -R remote serve --stdio (no-reposimplestore !)
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 Got arguments 1:user@dummy 2:hg -R doesnotexist serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R local serve --stdio
Got arguments 1:user@dummy 2:hg -R $TESTTMP/local serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 changegroup-in-remote hook: HG_HOOKNAME=changegroup
HG_HOOKTYPE=changegroup
HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60
HG_NODE_LAST=a28a9d1a809cab7d4e2fde4bee738a9ede948b60
HG_SOURCE=serve
HG_TXNID=TXN:$ID$
transaction: include txnname in the hookargs dictionary...
r42062 HG_TXNNAME=serve
remote:ssh:$LOCALIP
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 HG_URL=remote:ssh:$LOCALIP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 changegroup-in-remote hook: HG_HOOKNAME=changegroup
HG_HOOKTYPE=changegroup
HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6
HG_NODE_LAST=1383141674ec756a6056f6a9097618482fe0f4a6
HG_SOURCE=serve
HG_TXNID=TXN:$ID$
transaction: include txnname in the hookargs dictionary...
r42062 HG_TXNNAME=serve
remote:ssh:$LOCALIP
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 HG_URL=remote:ssh:$LOCALIP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg init 'a repo'
Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 changegroup-in-remote hook: HG_HOOKNAME=changegroup
HG_HOOKTYPE=changegroup
HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8
HG_NODE_LAST=65c38f4125f9602c8db4af56530cc221d93b8ef8
HG_SOURCE=serve
HG_TXNID=TXN:$ID$
transaction: include txnname in the hookargs dictionary...
r42062 HG_TXNNAME=serve
remote:ssh:$LOCALIP
Boris Feld
test: use `printenv.py --line` in `test-ssh-bundle1.t`...
r41792 HG_URL=remote:ssh:$LOCALIP
Pierre-Yves David
test: copy test-ssh.t to test-ssh-bundle1.t...
r25375 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Gregory Szorc
tests: add tests for remote hook output (issue4788)...
r26828
remote hook failure is attributed to remote
$ cat > $TESTTMP/failhook << EOF
> def hook(ui, repo, **kwargs):
Pulkit Goyal
py3: add b'' prefixes in tests/test-ssh.t and tests/test-ssh-bundle1.t...
r38120 > ui.write(b'hook failure!\n')
Gregory Szorc
tests: add tests for remote hook output (issue4788)...
r26828 > ui.flush()
> return 1
> EOF
$ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg -q clone ssh://user@dummy/remote hookout
Gregory Szorc
tests: add tests for remote hook output (issue4788)...
r26828 $ cd hookout
$ touch hookfailure
$ hg -q commit -A -m 'remote hook failure'
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg push
Gregory Szorc
tests: add tests for remote hook output (issue4788)...
r26828 pushing to ssh://user@dummy/remote
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
Gregory Szorc
bundle2: attribute remote failures to remote (issue4788)...
r26829 remote: hook failure!
remote: transaction abort!
Gregory Szorc
tests: add tests for remote hook output (issue4788)...
r26828 remote: rollback completed
remote: abort: pretxnchangegroup.fail hook failed
[1]
Pierre-Yves David
wireproto: properly report server Abort during 'getbundle'...
r30914 abort during pull is properly reported as such
$ echo morefoo >> ../remote/foo
$ hg -R ../remote commit --message "more foo to be pulled"
$ cat >> ../remote/.hg/hgrc << EOF
> [extensions]
> crash = ${TESTDIR}/crashgetbundler.py
> EOF
Valentin Gatien-Baron
tests: rely on dummyssh being the default...
r48732 $ hg pull
Pierre-Yves David
wireproto: properly report server Abort during 'getbundle'...
r30914 pulling from ssh://user@dummy/remote
searching for changes
adding changesets
remote: abort: this is an exercise
transaction abort!
rollback completed
abort: stream ended unexpectedly (got 0 bytes, expected 4)
[255]