tests/test-ssh.t
changeset 33286 2428e8ec0793
parent 33262 8e6f4939a69a
child 33335 72f051f9a7d8
equal deleted inserted replaced
33285:98f6c25aaf61 33286:2428e8ec0793
    36   > EOF
    36   > EOF
    37   $ cd ..
    37   $ cd ..
    38 
    38 
    39 repo not found error
    39 repo not found error
    40 
    40 
    41   $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local
    41   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local
    42   remote: abort: repository nonexistent not found!
    42   remote: abort: repository nonexistent not found!
    43   abort: no suitable response from remote hg!
    43   abort: no suitable response from remote hg!
    44   [255]
    44   [255]
    45 
    45 
    46 non-existent absolute path
    46 non-existent absolute path
    47 
    47 
    48   $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/nonexistent local
    48   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/nonexistent local
    49   remote: abort: repository $TESTTMP/nonexistent not found!
    49   remote: abort: repository $TESTTMP/nonexistent not found!
    50   abort: no suitable response from remote hg!
    50   abort: no suitable response from remote hg!
    51   [255]
    51   [255]
    52 
    52 
    53 clone remote via stream
    53 clone remote via stream
    54 
    54 
    55   $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/remote local-stream
    55   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/remote local-stream
    56   streaming all changes
    56   streaming all changes
    57   4 files to transfer, 602 bytes of data
    57   4 files to transfer, 602 bytes of data
    58   transferred 602 bytes in * seconds (*) (glob)
    58   transferred 602 bytes in * seconds (*) (glob)
    59   searching for changes
    59   searching for changes
    60   no changes found
    60   no changes found
    72   $ cd ..
    72   $ cd ..
    73 
    73 
    74 clone bookmarks via stream
    74 clone bookmarks via stream
    75 
    75 
    76   $ hg -R local-stream book mybook
    76   $ hg -R local-stream book mybook
    77   $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/local-stream stream2
    77   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/local-stream stream2
    78   streaming all changes
    78   streaming all changes
    79   4 files to transfer, 602 bytes of data
    79   4 files to transfer, 602 bytes of data
    80   transferred 602 bytes in * seconds (*) (glob)
    80   transferred 602 bytes in * seconds (*) (glob)
    81   searching for changes
    81   searching for changes
    82   no changes found
    82   no changes found
    88   $ cd ..
    88   $ cd ..
    89   $ rm -rf local-stream stream2
    89   $ rm -rf local-stream stream2
    90 
    90 
    91 clone remote via pull
    91 clone remote via pull
    92 
    92 
    93   $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local
    93   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local
    94   requesting all changes
    94   requesting all changes
    95   adding changesets
    95   adding changesets
    96   adding manifests
    96   adding manifests
    97   adding file changes
    97   adding file changes
    98   added 3 changesets with 2 changes to 2 files
    98   added 3 changesets with 2 changes to 2 files
   115 
   115 
   116 empty default pull
   116 empty default pull
   117 
   117 
   118   $ hg paths
   118   $ hg paths
   119   default = ssh://user@dummy/remote
   119   default = ssh://user@dummy/remote
   120   $ hg pull -e "python \"$TESTDIR/dummyssh\""
   120   $ hg pull -e "$PYTHON \"$TESTDIR/dummyssh\""
   121   pulling from ssh://user@dummy/remote
   121   pulling from ssh://user@dummy/remote
   122   searching for changes
   122   searching for changes
   123   no changes found
   123   no changes found
   124 
   124 
   125 pull from wrong ssh URL
   125 pull from wrong ssh URL
   126 
   126 
   127   $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/doesnotexist
   127   $ hg pull -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/doesnotexist
   128   pulling from ssh://user@dummy/doesnotexist
   128   pulling from ssh://user@dummy/doesnotexist
   129   remote: abort: repository doesnotexist not found!
   129   remote: abort: repository doesnotexist not found!
   130   abort: no suitable response from remote hg!
   130   abort: no suitable response from remote hg!
   131   [255]
   131   [255]
   132 
   132 
   154   summary:     add
   154   summary:     add
   155   
   155   
   156 
   156 
   157 find incoming on the remote side
   157 find incoming on the remote side
   158 
   158 
   159   $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/local
   159   $ hg incoming -R ../remote -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/local
   160   comparing with ssh://user@dummy/local
   160   comparing with ssh://user@dummy/local
   161   searching for changes
   161   searching for changes
   162   changeset:   3:a28a9d1a809c
   162   changeset:   3:a28a9d1a809c
   163   tag:         tip
   163   tag:         tip
   164   parent:      0:1160648e36ce
   164   parent:      0:1160648e36ce
   167   summary:     add
   167   summary:     add
   168   
   168   
   169 
   169 
   170 find incoming on the remote side (using absolute path)
   170 find incoming on the remote side (using absolute path)
   171 
   171 
   172   $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/`pwd`"
   172   $ hg incoming -R ../remote -e "$PYTHON \"$TESTDIR/dummyssh\"" "ssh://user@dummy/`pwd`"
   173   comparing with ssh://user@dummy/$TESTTMP/local
   173   comparing with ssh://user@dummy/$TESTTMP/local
   174   searching for changes
   174   searching for changes
   175   changeset:   3:a28a9d1a809c
   175   changeset:   3:a28a9d1a809c
   176   tag:         tip
   176   tag:         tip
   177   parent:      0:1160648e36ce
   177   parent:      0:1160648e36ce
   214   created new head
   214   created new head
   215 
   215 
   216 test pushkeys and bookmarks
   216 test pushkeys and bookmarks
   217 
   217 
   218   $ cd ../local
   218   $ cd ../local
   219   $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote namespaces
   219   $ hg debugpushkey --config ui.ssh="$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote namespaces
   220   bookmarks	
   220   bookmarks	
   221   namespaces	
   221   namespaces	
   222   phases	
   222   phases	
   223   $ hg book foo -r 0
   223   $ hg book foo -r 0
   224   $ hg out -B
   224   $ hg out -B
   229   pushing to ssh://user@dummy/remote
   229   pushing to ssh://user@dummy/remote
   230   searching for changes
   230   searching for changes
   231   no changes found
   231   no changes found
   232   exporting bookmark foo
   232   exporting bookmark foo
   233   [1]
   233   [1]
   234   $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote bookmarks
   234   $ hg debugpushkey --config ui.ssh="$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote bookmarks
   235   foo	1160648e36cec0054048a7edc4110c6f84fde594
   235   foo	1160648e36cec0054048a7edc4110c6f84fde594
   236   $ hg book -f foo
   236   $ hg book -f foo
   237   $ hg push --traceback
   237   $ hg push --traceback
   238   pushing to ssh://user@dummy/remote
   238   pushing to ssh://user@dummy/remote
   239   searching for changes
   239   searching for changes
   309 clone bookmarks
   309 clone bookmarks
   310 
   310 
   311   $ hg -R ../remote bookmark test
   311   $ hg -R ../remote bookmark test
   312   $ hg -R ../remote bookmarks
   312   $ hg -R ../remote bookmarks
   313    * test                      4:6c0482d977a3
   313    * test                      4:6c0482d977a3
   314   $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local-bookmarks
   314   $ hg clone -e "$PYTHON \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local-bookmarks
   315   requesting all changes
   315   requesting all changes
   316   adding changesets
   316   adding changesets
   317   adding manifests
   317   adding manifests
   318   adding file changes
   318   adding file changes
   319   added 6 changesets with 5 changes to 4 files (+1 heads)
   319   added 6 changesets with 5 changes to 4 files (+1 heads)
   336 hide outer repo
   336 hide outer repo
   337   $ hg init
   337   $ hg init
   338 
   338 
   339 Test remote paths with spaces (issue2983):
   339 Test remote paths with spaces (issue2983):
   340 
   340 
   341   $ hg init --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   341   $ hg init --ssh "$PYTHON \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   342   $ touch "$TESTTMP/a repo/test"
   342   $ touch "$TESTTMP/a repo/test"
   343   $ hg -R 'a repo' commit -A -m "test"
   343   $ hg -R 'a repo' commit -A -m "test"
   344   adding test
   344   adding test
   345   $ hg -R 'a repo' tag tag
   345   $ hg -R 'a repo' tag tag
   346   $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   346   $ hg id --ssh "$PYTHON \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   347   73649e48688a
   347   73649e48688a
   348 
   348 
   349   $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo#noNoNO"
   349   $ hg id --ssh "$PYTHON \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo#noNoNO"
   350   abort: unknown revision 'noNoNO'!
   350   abort: unknown revision 'noNoNO'!
   351   [255]
   351   [255]
   352 
   352 
   353 Test (non-)escaping of remote paths with spaces when cloning (issue3145):
   353 Test (non-)escaping of remote paths with spaces when cloning (issue3145):
   354 
   354 
   355   $ hg clone --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   355   $ hg clone --ssh "$PYTHON \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo"
   356   destination directory: a repo
   356   destination directory: a repo
   357   abort: destination 'a repo' is not empty
   357   abort: destination 'a repo' is not empty
   358   [255]
   358   [255]
   359 
   359 
   360 Make sure hg is really paranoid in serve --stdio mode. It used to be
   360 Make sure hg is really paranoid in serve --stdio mode. It used to be
   541   >     return 1
   541   >     return 1
   542   > EOF
   542   > EOF
   543 
   543 
   544   $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
   544   $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
   545 
   545 
   546   $ hg -q --config ui.ssh="python $TESTDIR/dummyssh" clone ssh://user@dummy/remote hookout
   546   $ hg -q --config ui.ssh="$PYTHON $TESTDIR/dummyssh" clone ssh://user@dummy/remote hookout
   547   $ cd hookout
   547   $ cd hookout
   548   $ touch hookfailure
   548   $ touch hookfailure
   549   $ hg -q commit -A -m 'remote hook failure'
   549   $ hg -q commit -A -m 'remote hook failure'
   550   $ hg --config ui.ssh="python $TESTDIR/dummyssh" push
   550   $ hg --config ui.ssh="$PYTHON $TESTDIR/dummyssh" push
   551   pushing to ssh://user@dummy/remote
   551   pushing to ssh://user@dummy/remote
   552   searching for changes
   552   searching for changes
   553   remote: adding changesets
   553   remote: adding changesets
   554   remote: adding manifests
   554   remote: adding manifests
   555   remote: adding file changes
   555   remote: adding file changes
   567   $ hg -R ../remote commit --message "more foo to be pulled"
   567   $ hg -R ../remote commit --message "more foo to be pulled"
   568   $ cat >> ../remote/.hg/hgrc << EOF
   568   $ cat >> ../remote/.hg/hgrc << EOF
   569   > [extensions]
   569   > [extensions]
   570   > crash = ${TESTDIR}/crashgetbundler.py
   570   > crash = ${TESTDIR}/crashgetbundler.py
   571   > EOF
   571   > EOF
   572   $ hg --config ui.ssh="python $TESTDIR/dummyssh" pull
   572   $ hg --config ui.ssh="$PYTHON $TESTDIR/dummyssh" pull
   573   pulling from ssh://user@dummy/remote
   573   pulling from ssh://user@dummy/remote
   574   searching for changes
   574   searching for changes
   575   remote: abort: this is an exercise
   575   remote: abort: this is an exercise
   576   abort: pull failed on remote
   576   abort: pull failed on remote
   577   [255]
   577   [255]