annotate tests/test-ssh.t @ 32697:19b9fc40cc51

revlog: skeleton support for version 2 revlogs There are a number of improvements we want to make to revlogs that will require a new version - version 2. It is unclear what the full set of improvements will be or when we'll be done with them. What I do know is that the process will likely take longer than a single release, will require input from various stakeholders to evaluate changes, and will have many contentious debates and bikeshedding. It is unrealistic to develop revlog version 2 up front: there are just too many uncertainties that we won't know until things are implemented and experiments are run. Some changes will also be invasive and prone to bit rot, so sitting on dozens of patches is not practical. This commit introduces skeleton support for version 2 revlogs in a way that is flexible and not bound by backwards compatibility concerns. An experimental repo requirement for denoting revlog v2 has been added. The requirement string has a sub-version component to it. This will allow us to declare multiple requirements in the course of developing revlog v2. Whenever we change the in-development revlog v2 format, we can tweak the string, creating a new requirement and locking out old clients. This will allow us to make as many backwards incompatible changes and experiments to revlog v2 as we want. In other words, we can land code and make meaningful progress towards revlog v2 while still maintaining extreme format flexibility up until the point we freeze the format and remove the experimental labels. To enable the new repo requirement, you must supply an experimental and undocumented config option. But not just any boolean flag will do: you need to explicitly use a value that no sane person should ever type. This is an additional guard against enabling revlog v2 on an installation it shouldn't be enabled on. The specific scenario I'm trying to prevent is say a user with a 4.4 client with a frozen format enabling the option but then downgrading to 4.3 and accidentally creating repos with an outdated and unsupported repo format. Requiring a "challenge" string should prevent this. Because the format is not yet finalized and I don't want to take any chances, revlog v2's version is currently 0xDEAD. I figure squatting on a value we're likely never to use as an actual revlog version to mean "internal testing only" is acceptable. And "dead" is easily recognized as something meaningful. There is a bunch of cleanup that is needed before work on revlog v2 begins in earnest. I plan on doing that work once this patch is accepted and we're comfortable with the idea of starting down this path.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 19 May 2017 20:29:11 -0700
parents 616e788321cc
children 8e6f4939a69a 00a75672a9cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4291
35b2e02367a5 test-ssh: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
1
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
2 This test tries to exercise the ssh functionality with a dummy script
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
3
26931
dc2016eb326b test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26829
diff changeset
4 $ cat <<EOF >> $HGRCPATH
dc2016eb326b test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26829
diff changeset
5 > [format]
dc2016eb326b test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26829
diff changeset
6 > usegeneraldelta=yes
dc2016eb326b test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26829
diff changeset
7 > EOF
dc2016eb326b test: use generaldelta in 'test-ssh.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26829
diff changeset
8
14185
eb297845f90b tests: fix test-ssh.t after 6bd9778ae749
Mads Kiilerich <mads@kiilerich.com>
parents: 14164
diff changeset
9 creating 'remote' repo
4298
58517f6eb1ad test-ssh: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4291
diff changeset
10
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
11 $ hg init remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
12 $ cd remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
13 $ echo this > foo
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
14 $ echo this > fooO
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
15 $ hg ci -A -m "init" foo fooO
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
16
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
17 insert a closed branch (issue4428)
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
18
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
19 $ hg up null
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
20 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
21 $ hg branch closed
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
22 marked working directory as branch closed
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
23 (branches are permanent and global, did you want a bookmark?)
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
24 $ hg ci -mc0
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
25 $ hg ci --close-branch -mc1
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
26 $ hg up -q default
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
27
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
28 configure for serving
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
29
14185
eb297845f90b tests: fix test-ssh.t after 6bd9778ae749
Mads Kiilerich <mads@kiilerich.com>
parents: 14164
diff changeset
30 $ cat <<EOF > .hg/hgrc
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
31 > [server]
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
32 > uncompressed = True
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
33 >
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
34 > [hooks]
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30155
diff changeset
35 > changegroup = sh -c "printenv.py changegroup-in-remote 0 ../dummylog"
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
36 > EOF
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
37 $ cd ..
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
38
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
39 repo not found error
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
40
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
41 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 26141
diff changeset
42 remote: abort: repository nonexistent not found!
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
43 abort: no suitable response from remote hg!
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
44 [255]
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
45
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
46 non-existent absolute path
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
47
26141
fa6ba7c9600b test-ssh: remove superfluous triple slashes from absolute path test
Yuya Nishihara <yuya@tcha.org>
parents: 25495
diff changeset
48 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/nonexistent local
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 26141
diff changeset
49 remote: abort: repository $TESTTMP/nonexistent not found!
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
50 abort: no suitable response from remote hg!
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
51 [255]
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
52
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
53 clone remote via stream
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
54
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
55 $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/remote local-stream
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
56 streaming all changes
30155
b7a966ce89ed changelog: disable delta chains
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
57 4 files to transfer, 602 bytes of data
b7a966ce89ed changelog: disable delta chains
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
58 transferred 602 bytes in * seconds (*) (glob)
23116
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
59 searching for changes
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
60 no changes found
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
61 updating to branch default
12489
d039c4285092 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12414
diff changeset
62 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
63 $ cd local-stream
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
64 $ hg verify
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
65 checking changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
66 checking manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
67 crosschecking files in changesets and manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
68 checking files
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
69 2 files, 3 changesets, 2 total revisions
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
70 $ hg branches
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
71 default 0:1160648e36ce
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
72 $ cd ..
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
73
23116
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
74 clone bookmarks via stream
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
75
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
76 $ hg -R local-stream book mybook
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
77 $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/local-stream stream2
23116
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
78 streaming all changes
30155
b7a966ce89ed changelog: disable delta chains
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
79 4 files to transfer, 602 bytes of data
b7a966ce89ed changelog: disable delta chains
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
80 transferred 602 bytes in * seconds (*) (glob)
23116
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
81 searching for changes
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
82 no changes found
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
83 updating to branch default
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
84 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
85 $ cd stream2
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
86 $ hg book
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
87 mybook 0:1160648e36ce
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
88 $ cd ..
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
89 $ rm -rf local-stream stream2
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
90
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
91 clone remote via pull
5978
7939c71f3132 sshrepo: be more careful while reading data
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4298
diff changeset
92
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
93 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
94 requesting all changes
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
95 adding changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
96 adding manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
97 adding file changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
98 added 3 changesets with 2 changes to 2 files
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
99 updating to branch default
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
100 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
101
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
102 verify
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
103
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
104 $ cd local
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
105 $ hg verify
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
106 checking changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
107 checking manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
108 crosschecking files in changesets and manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
109 checking files
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
110 2 files, 3 changesets, 2 total revisions
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30155
diff changeset
111 $ cat >> .hg/hgrc <<EOF
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30155
diff changeset
112 > [hooks]
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30155
diff changeset
113 > changegroup = sh -c "printenv.py changegroup-in-local 0 ../dummylog"
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30155
diff changeset
114 > EOF
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
115
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
116 empty default pull
3275
7ae37d99d47e ssh: make the error message more clear, add a testcase
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3095
diff changeset
117
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
118 $ hg paths
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
119 default = ssh://user@dummy/remote
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
120 $ hg pull -e "python \"$TESTDIR/dummyssh\""
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
121 pulling from ssh://user@dummy/remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
122 searching for changes
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
123 no changes found
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
124
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
125 pull from wrong ssh URL
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
126
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
127 $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/doesnotexist
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
128 pulling from ssh://user@dummy/doesnotexist
26142
7332bf4ae959 dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 26141
diff changeset
129 remote: abort: repository doesnotexist not found!
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
130 abort: no suitable response from remote hg!
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
131 [255]
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
132
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
133 local change
12409
0eaf7d32a5d8 test-ssh: test absolute paths in SSH URLs
Brodie Rao <brodie@bitheap.org>
parents: 12156
diff changeset
134
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
135 $ echo bleah > foo
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
136 $ hg ci -m "add"
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
137
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
138 updating rc
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
139
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
140 $ echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
141 $ echo "[ui]" >> .hg/hgrc
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
142 $ echo "ssh = python \"$TESTDIR/dummyssh\"" >> .hg/hgrc
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
143
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
144 find outgoing
2612
ffb895f16925 add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2439
diff changeset
145
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
146 $ hg out ssh://user@dummy/remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
147 comparing with ssh://user@dummy/remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
148 searching for changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
149 changeset: 3:a28a9d1a809c
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
150 tag: tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
151 parent: 0:1160648e36ce
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
152 user: test
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
153 date: Thu Jan 01 00:00:00 1970 +0000
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
154 summary: add
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
155
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
156
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
157 find incoming on the remote side
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
158
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
159 $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/local
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
160 comparing with ssh://user@dummy/local
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
161 searching for changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
162 changeset: 3:a28a9d1a809c
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
163 tag: tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
164 parent: 0:1160648e36ce
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
165 user: test
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
166 date: Thu Jan 01 00:00:00 1970 +0000
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
167 summary: add
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
168
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
169
12504
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
170 find incoming on the remote side (using absolute path)
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
171
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
172 $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/`pwd`"
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12587
diff changeset
173 comparing with ssh://user@dummy/$TESTTMP/local
12504
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
174 searching for changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
175 changeset: 3:a28a9d1a809c
12504
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
176 tag: tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
177 parent: 0:1160648e36ce
12504
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
178 user: test
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
179 date: Thu Jan 01 00:00:00 1970 +0000
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
180 summary: add
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
181
f7dd8bffe18c test-ssh: test absolute path that exists
Brodie Rao <brodie@bitheap.org>
parents: 12489
diff changeset
182
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
183 push
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
184
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
185 $ hg push
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
186 pushing to ssh://user@dummy/remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
187 searching for changes
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
188 remote: adding changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
189 remote: adding manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
190 remote: adding file changes
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
191 remote: added 1 changesets with 1 changes to 1 files
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
192 $ cd ../remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
193
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
194 check remote tip
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
195
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
196 $ hg tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
197 changeset: 3:a28a9d1a809c
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
198 tag: tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
199 parent: 0:1160648e36ce
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
200 user: test
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
201 date: Thu Jan 01 00:00:00 1970 +0000
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
202 summary: add
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
203
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
204 $ hg verify
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
205 checking changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
206 checking manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
207 crosschecking files in changesets and manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
208 checking files
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
209 2 files, 4 changesets, 3 total revisions
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
210 $ hg cat -r tip foo
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
211 bleah
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
212 $ echo z > z
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
213 $ hg ci -A -m z z
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
214 created new head
1982
70ba0c86da8b Added test for incoming via ssh.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
215
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
216 test pushkeys and bookmarks
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
217
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
218 $ cd ../local
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
219 $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote namespaces
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
220 bookmarks
18255
7ca534f31a83 debugpushkey: list keys sorted
Mads Kiilerich <mads at kiilerich.com>
parents: 17844
diff changeset
221 namespaces
15648
79cc89de5be1 phases: add basic pushkey support
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15622
diff changeset
222 phases
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
223 $ hg book foo -r 0
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
224 $ hg out -B
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
225 comparing with ssh://user@dummy/remote
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
226 searching for changed bookmarks
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
227 foo 1160648e36ce
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
228 $ hg push -B foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
229 pushing to ssh://user@dummy/remote
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
230 searching for changes
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
231 no changes found
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
232 exporting bookmark foo
16038
dad96e752079 push: don't treat bookmark as a found change
Matt Mackall <mpm@selenic.com>
parents: 16023
diff changeset
233 [1]
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
234 $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote bookmarks
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
235 foo 1160648e36cec0054048a7edc4110c6f84fde594
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
236 $ hg book -f foo
13050
3790452d499b pushkey: use UTF-8
Matt Mackall <mpm@selenic.com>
parents: 12969
diff changeset
237 $ hg push --traceback
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
238 pushing to ssh://user@dummy/remote
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
239 searching for changes
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
240 no changes found
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
241 updating bookmark foo
16023
90f8b8dd0326 push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents: 15897
diff changeset
242 [1]
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
243 $ hg book -d foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
244 $ hg in -B
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
245 comparing with ssh://user@dummy/remote
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
246 searching for changed bookmarks
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
247 foo a28a9d1a809c
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
248 $ hg book -f -r 0 foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
249 $ hg pull -B foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
250 pulling from ssh://user@dummy/remote
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
251 no changes found
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
252 updating bookmark foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
253 $ hg book -d foo
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
254 $ hg push -B foo
13368
d4ab9486e514 bookmarks: move push/pull command features to core
Matt Mackall <mpm@selenic.com>
parents: 13050
diff changeset
255 pushing to ssh://user@dummy/remote
d4ab9486e514 bookmarks: move push/pull command features to core
Matt Mackall <mpm@selenic.com>
parents: 13050
diff changeset
256 searching for changes
d4ab9486e514 bookmarks: move push/pull command features to core
Matt Mackall <mpm@selenic.com>
parents: 13050
diff changeset
257 no changes found
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
258 deleting remote bookmark foo
16038
dad96e752079 push: don't treat bookmark as a found change
Matt Mackall <mpm@selenic.com>
parents: 16023
diff changeset
259 [1]
12969
6bd9778ae749 pushkey: force HTTP POST on push and add tests (issue2489)
Matt Mackall <mpm@selenic.com>
parents: 12773
diff changeset
260
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
261 a bad, evil hook that prints to stdout
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
262
14186
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14185
diff changeset
263 $ cat <<EOF > $TESTTMP/badhook
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14185
diff changeset
264 > import sys
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14185
diff changeset
265 > sys.stdout.write("KABOOM\n")
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14185
diff changeset
266 > EOF
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14185
diff changeset
267
30364
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
268 $ cat <<EOF > $TESTTMP/badpyhook.py
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
269 > import sys
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
270 > def hook(ui, repo, hooktype, **kwargs):
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
271 > sys.stdout.write("KABOOM IN PROCESS\n")
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
272 > EOF
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
273
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
274 $ cat <<EOF >> ../remote/.hg/hgrc
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
275 > [hooks]
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
276 > changegroup.stdout = python $TESTTMP/badhook
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
277 > changegroup.pystdout = python:$TESTTMP/badpyhook.py:hook
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
278 > EOF
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
279 $ echo r > r
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
280 $ hg ci -A -m z r
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
281
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
282 push should succeed even though it has an unexpected response
1110
1032a505488c Add a simple dummy ssh test
mpm@selenic.com
parents:
diff changeset
283
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
284 $ hg push
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
285 pushing to ssh://user@dummy/remote
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
286 searching for changes
20501
8a9e0b523d2d discovery: improve "note: unsynced remote changes!" warning
Mads Kiilerich <madski@unity3d.com>
parents: 20403
diff changeset
287 remote has heads on branch 'default' that are not known locally: 6c0482d977a3
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
288 remote: adding changesets
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
289 remote: adding manifests
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
290 remote: adding file changes
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
291 remote: added 1 changesets with 1 changes to 1 files
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
292 remote: KABOOM
30364
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
293 remote: KABOOM IN PROCESS
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
294 $ hg -R ../remote heads
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
295 changeset: 5:1383141674ec
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
296 tag: tip
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
297 parent: 3:a28a9d1a809c
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
298 user: test
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
299 date: Thu Jan 01 00:00:00 1970 +0000
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
300 summary: z
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
301
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
302 changeset: 4:6c0482d977a3
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
303 parent: 0:1160648e36ce
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
304 user: test
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
305 date: Thu Jan 01 00:00:00 1970 +0000
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
306 summary: z
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
307
13464
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
308
13604
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
309 clone bookmarks
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
310
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
311 $ hg -R ../remote bookmark test
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
312 $ hg -R ../remote bookmarks
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
313 * test 4:6c0482d977a3
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
314 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local-bookmarks
13604
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
315 requesting all changes
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
316 adding changesets
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
317 adding manifests
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
318 adding file changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
319 added 6 changesets with 5 changes to 4 files (+1 heads)
13604
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
320 updating to branch default
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
321 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
322 $ hg -R local-bookmarks bookmarks
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
323 test 4:6c0482d977a3
13604
3f6a4579f803 hg: add support for cloning bookmarks
David Soria Parra <dsp@php.net>
parents: 13469
diff changeset
324
13464
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
325 passwords in ssh urls are not supported
13755
e45780ac8292 ssh: fix password test
Matt Mackall <mpm@selenic.com>
parents: 13752
diff changeset
326 (we use a glob here because different Python versions give different
e45780ac8292 ssh: fix password test
Matt Mackall <mpm@selenic.com>
parents: 13752
diff changeset
327 results here)
13464
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
328
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
329 $ hg push ssh://user:erroneouspwd@dummy/remote
13755
e45780ac8292 ssh: fix password test
Matt Mackall <mpm@selenic.com>
parents: 13752
diff changeset
330 pushing to ssh://user:*@dummy/remote (glob)
13464
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
331 abort: password in URL not supported!
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
332 [255]
da0ddd62b9d8 sshrepo: catch passwords in ssh urls
Adrian Buehlmann <adrian@cadifra.com>
parents: 13405
diff changeset
333
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
334 $ cd ..
15581
d8fa35c28335 ssh: quote remote paths (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
335
17015
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16982
diff changeset
336 hide outer repo
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16982
diff changeset
337 $ hg init
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16982
diff changeset
338
15581
d8fa35c28335 ssh: quote remote paths (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
339 Test remote paths with spaces (issue2983):
d8fa35c28335 ssh: quote remote paths (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
340
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
341 $ hg init --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17075
diff changeset
342 $ touch "$TESTTMP/a repo/test"
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17075
diff changeset
343 $ hg -R 'a repo' commit -A -m "test"
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17075
diff changeset
344 adding test
15581
d8fa35c28335 ssh: quote remote paths (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
345 $ hg -R 'a repo' tag tag
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
346 $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17075
diff changeset
347 73649e48688a
15581
d8fa35c28335 ssh: quote remote paths (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 14186
diff changeset
348
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
349 $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo#noNoNO"
21188
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20501
diff changeset
350 abort: unknown revision 'noNoNO'!
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20501
diff changeset
351 [255]
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20501
diff changeset
352
17844
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
353 Test (non-)escaping of remote paths with spaces when cloning (issue3145):
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
354
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
355 $ hg clone --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
17844
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
356 destination directory: a repo
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
357 abort: destination 'a repo' is not empty
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
358 [255]
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
359
32050
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
360 Make sure hg is really paranoid in serve --stdio mode. It used to be
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
361 possible to get a debugger REPL by specifying a repo named --debugger.
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
362 $ hg -R --debugger serve --stdio
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
363 abort: potentially unsafe serve --stdio invocation: ['-R', '--debugger', 'serve', '--stdio']
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
364 [255]
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
365 $ hg -R --config=ui.debugger=yes serve --stdio
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
366 abort: potentially unsafe serve --stdio invocation: ['-R', '--config=ui.debugger=yes', 'serve', '--stdio']
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
367 [255]
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
368 Abbreviations of 'serve' also don't work, to avoid shenanigans.
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
369 $ hg -R narf serv --stdio
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
370 abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio']
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
371 [255]
77eaf9539499 dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
Augie Fackler <augie@google.com>
parents: 30914
diff changeset
372
16608
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
373 Test hg-ssh using a helper script that will restore PYTHONPATH (which might
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
374 have been cleared by a hg.exe wrapper) and invoke hg-ssh with the right
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
375 parameters:
15897
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
376
16608
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
377 $ cat > ssh.sh << EOF
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
378 > userhost="\$1"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
379 > SSH_ORIGINAL_COMMAND="\$2"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
380 > export SSH_ORIGINAL_COMMAND
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
381 > PYTHONPATH="$PYTHONPATH"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
382 > export PYTHONPATH
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
383 > python "$TESTDIR/../contrib/hg-ssh" "$TESTTMP/a repo"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
384 > EOF
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
385
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
386 $ hg id --ssh "sh ssh.sh" "ssh://user@dummy/a repo"
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17075
diff changeset
387 73649e48688a
16606
19379226dc67 hg-ssh: use %s for printing paths in error messages
Mads Kiilerich <mads@kiilerich.com>
parents: 16541
diff changeset
388
16608
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
389 $ hg id --ssh "sh ssh.sh" "ssh://user@dummy/a'repo"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
390 remote: Illegal repository "$TESTTMP/a'repo" (glob)
15897
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
391 abort: no suitable response from remote hg!
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
392 [255]
16606
19379226dc67 hg-ssh: use %s for printing paths in error messages
Mads Kiilerich <mads@kiilerich.com>
parents: 16541
diff changeset
393
16608
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
394 $ hg id --ssh "sh ssh.sh" --remotecmd hacking "ssh://user@dummy/a'repo"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
395 remote: Illegal command "hacking -R 'a'\''repo' serve --stdio"
15897
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
396 abort: no suitable response from remote hg!
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
397 [255]
cc021114fc98 hg-ssh: use shlex for shell-like parsing of SSH_ORIGINAL_COMMAND
Mads Kiilerich <mads@kiilerich.com>
parents: 15648
diff changeset
398
16608
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
399 $ SSH_ORIGINAL_COMMAND="'hg' -R 'a'repo' serve --stdio" python "$TESTDIR/../contrib/hg-ssh"
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
400 Illegal command "'hg' -R 'a'repo' serve --stdio": No closing quotation
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
401 [255]
289fdcd4cb47 tests: improve test of hg-ssh and make the test pass on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16606
diff changeset
402
16836
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
403 Test hg-ssh in read-only mode:
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
404
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
405 $ cat > ssh.sh << EOF
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
406 > userhost="\$1"
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
407 > SSH_ORIGINAL_COMMAND="\$2"
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
408 > export SSH_ORIGINAL_COMMAND
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
409 > PYTHONPATH="$PYTHONPATH"
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
410 > export PYTHONPATH
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
411 > python "$TESTDIR/../contrib/hg-ssh" --read-only "$TESTTMP/remote"
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
412 > EOF
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
413
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
414 $ hg clone --ssh "sh ssh.sh" "ssh://user@dummy/$TESTTMP/remote" read-only-local
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
415 requesting all changes
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
416 adding changesets
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
417 adding manifests
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
418 adding file changes
23126
8b4a8a9176e2 clone: properly mark branches closed with --uncompressed (issue4428)
Matt Mackall <mpm@selenic.com>
parents: 23116
diff changeset
419 added 6 changesets with 5 changes to 4 files (+1 heads)
16836
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
420 updating to branch default
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
421 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
422
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
423 $ cd read-only-local
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
424 $ echo "baz" > bar
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
425 $ hg ci -A -m "unpushable commit" bar
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
426 $ hg push --ssh "sh ../ssh.sh"
16897
2774576dee4d tests/run-tests: avoid C:/ in arguments
Adrian Buehlmann <adrian@cadifra.com>
parents: 16836
diff changeset
427 pushing to ssh://user@dummy/*/remote (glob)
16836
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
428 searching for changes
25422
8dc5ee5b7b09 sshpeer: use the doublepipe object for the server to client channel
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25405
diff changeset
429 remote: Permission denied
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26828
diff changeset
430 remote: pretxnopen.hg-ssh hook failed
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26828
diff changeset
431 abort: push failed on remote
25376
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
432 [255]
16836
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
433
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
434 $ cd ..
1ba3e17186c8 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com>
parents: 16608
diff changeset
435
22247
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
436 stderr from remote commands should be printed before stdout from local code (issue4336)
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
437
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
438 $ hg clone remote stderr-ordering
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
439 updating to branch default
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
440 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
441 $ cd stderr-ordering
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
442 $ cat >> localwrite.py << EOF
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
443 > from mercurial import exchange, extensions
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
444 >
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
445 > def wrappedpush(orig, repo, *args, **kwargs):
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
446 > res = orig(repo, *args, **kwargs)
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
447 > repo.ui.write('local stdout\n')
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
448 > return res
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
449 >
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
450 > def extsetup(ui):
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
451 > extensions.wrapfunction(exchange, 'push', wrappedpush)
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
452 > EOF
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
453
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
454 $ cat >> .hg/hgrc << EOF
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
455 > [paths]
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
456 > default-push = ssh://user@dummy/remote
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
457 > [ui]
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
458 > ssh = python "$TESTDIR/dummyssh"
22247
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
459 > [extensions]
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
460 > localwrite = localwrite.py
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
461 > EOF
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
462
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
463 $ echo localwrite > foo
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
464 $ hg commit -m 'testing localwrite'
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
465 $ hg push
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
466 pushing to ssh://user@dummy/remote
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
467 searching for changes
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
468 remote: adding changesets
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
469 remote: adding manifests
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
470 remote: adding file changes
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
471 remote: added 1 changesets with 1 changes to 1 files
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
472 remote: KABOOM
30364
ad56204f733e hook: flush stdout before restoring stderr redirection
Yuya Nishihara <yuya@tcha.org>
parents: 30234
diff changeset
473 remote: KABOOM IN PROCESS
22247
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
474 local stdout
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
475
25338
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
476 debug output
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
477
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
478 $ hg pull --debug ssh://user@dummy/remote
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
479 pulling from ssh://user@dummy/remote
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
480 running python ".*/dummyssh" user@dummy ('|")hg -R remote serve --stdio('|") (re)
25338
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
481 sending hello command
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
482 sending between command
30563
e118233172fe wireproto: only advertise HTTP-specific capabilities to HTTP peers (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30364
diff changeset
483 remote: 355
e118233172fe wireproto: only advertise HTTP-specific capabilities to HTTP peers (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30364
diff changeset
484 remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN
25338
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
485 remote: 1
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
486 query 1; heads
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
487 sending batch command
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
488 searching for changes
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
489 all remote heads known locally
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
490 no changes found
25376
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
491 sending getbundle command
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
492 bundle2-input-bundle: with-transaction
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
493 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
29064
9dc27a334fb1 bundle2: properly request phases during getbundle
Mike Hommey <mh@glandium.org>
parents: 27752
diff changeset
494 bundle2-input-part: total payload size 15
25403
30ab130af221 wireprotocol: distinguish list and set in getbundle argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25401
diff changeset
495 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
25376
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
496 bundle2-input-part: total payload size 45
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
497 bundle2-input-bundle: 1 parts total
2c14ab597353 test: use bundle2 in test-ssh
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25367
diff changeset
498 checking for updated bookmarks
25338
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
499
22247
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
500 $ cd ..
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
501
12414
858fe1e74785 tests: unify test-ssh
Matt Mackall <mpm@selenic.com>
parents: 12409
diff changeset
502 $ cat dummylog
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
503 Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio
26141
fa6ba7c9600b test-ssh: remove superfluous triple slashes from absolute path test
Yuya Nishihara <yuya@tcha.org>
parents: 25495
diff changeset
504 Got arguments 1:user@dummy 2:hg -R $TESTTMP/nonexistent serve --stdio
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
505 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
23116
2dc6b7917cdf clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents: 22960
diff changeset
506 Got arguments 1:user@dummy 2:hg -R local-stream serve --stdio
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
507 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
508 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 23416
diff changeset
509 Got arguments 1:user@dummy 2:hg -R doesnotexist serve --stdio
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
510 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
511 Got arguments 1:user@dummy 2:hg -R local serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
512 Got arguments 1:user@dummy 2:hg -R $TESTTMP/local serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
513 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
514 changegroup-in-remote hook: HG_BUNDLE2=1 HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_NODE_LAST=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_SOURCE=serve HG_TXNID=TXN:$ID$ HG_URL=remote:ssh:$LOCALIP
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
515 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
516 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
517 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
518 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
519 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
520 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
521 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
522 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
523 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
524 changegroup-in-remote hook: HG_BUNDLE2=1 HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6 HG_NODE_LAST=1383141674ec756a6056f6a9097618482fe0f4a6 HG_SOURCE=serve HG_TXNID=TXN:$ID$ HG_URL=remote:ssh:$LOCALIP
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
525 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
526 Got arguments 1:user@dummy 2:hg init 'a repo'
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
527 Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
528 Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
17844
b32e55e6c3c7 clone: don't %-escape the default destination (issue3145)
Matt Mackall <mpm@selenic.com>
parents: 17298
diff changeset
529 Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
21188
d36440d84328 httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa
Mads Kiilerich <madski@unity3d.com>
parents: 20501
diff changeset
530 Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio
22247
8341c677c204 test-ssh: verify that stderr from remote is printed (issue4336)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21188
diff changeset
531 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
532 changegroup-in-remote hook: HG_BUNDLE2=1 HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_NODE_LAST=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:$ID$ HG_URL=remote:ssh:$LOCALIP
25338
405303df6a2a ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25127
diff changeset
533 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
26828
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
534
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
535 remote hook failure is attributed to remote
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
536
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
537 $ cat > $TESTTMP/failhook << EOF
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
538 > def hook(ui, repo, **kwargs):
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
539 > ui.write('hook failure!\n')
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
540 > ui.flush()
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
541 > return 1
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
542 > EOF
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
543
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
544 $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
545
27053
c858945f6969 test-ssh: stop quoting dummyssh invocation for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26931
diff changeset
546 $ hg -q --config ui.ssh="python $TESTDIR/dummyssh" clone ssh://user@dummy/remote hookout
26828
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
547 $ cd hookout
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
548 $ touch hookfailure
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
549 $ hg -q commit -A -m 'remote hook failure'
27053
c858945f6969 test-ssh: stop quoting dummyssh invocation for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26931
diff changeset
550 $ hg --config ui.ssh="python $TESTDIR/dummyssh" push
26828
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
551 pushing to ssh://user@dummy/remote
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
552 searching for changes
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
553 remote: adding changesets
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
554 remote: adding manifests
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
555 remote: adding file changes
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
556 remote: added 1 changesets with 1 changes to 1 files
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
557 remote: hook failure!
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
558 remote: transaction abort!
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
559 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26828
diff changeset
560 remote: pretxnchangegroup.fail hook failed
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26828
diff changeset
561 abort: push failed on remote
26828
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
562 [255]
00e75baa810f tests: add tests for remote hook output (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26142
diff changeset
563
30914
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
564 abort during pull is properly reported as such
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
565
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
566 $ echo morefoo >> ../remote/foo
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
567 $ hg -R ../remote commit --message "more foo to be pulled"
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
568 $ cat >> ../remote/.hg/hgrc << EOF
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
569 > [extensions]
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
570 > crash = ${TESTDIR}/crashgetbundler.py
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
571 > EOF
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
572 $ hg --config ui.ssh="python $TESTDIR/dummyssh" pull
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
573 pulling from ssh://user@dummy/remote
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
574 searching for changes
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
575 remote: abort: this is an exercise
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
576 abort: pull failed on remote
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30563
diff changeset
577 [255]