Skip to content
Snippets Groups Projects
  • Boris Feld's avatar
    2090044a
    revbranchcache: advertise and use 'rbc' exchange capability · 2090044a
    Boris Feld authored
    The feature is now advertised and use.
    
    Updating the branchmap cache can be very expensive (up to minutes on large
    repository) and fetching revision branch data is about 80% of that. Exchanging
    the rev branch cache over the wire really help to recover from branch map
    invalidation.
    
    (There is a good chance other in flight chance would conflict on
    test-http-bad-server.t and other. So here is a small note to help update that
    test again: capabilities=19bytes, part-107bytes)
    2090044a
    History
    revbranchcache: advertise and use 'rbc' exchange capability
    Boris Feld authored
    The feature is now advertised and use.
    
    Updating the branchmap cache can be very expensive (up to minutes on large
    repository) and fetching revision branch data is about 80% of that. Exchanging
    the rev branch cache over the wire really help to recover from branch map
    invalidation.
    
    (There is a good chance other in flight chance would conflict on
    test-http-bad-server.t and other. So here is a small note to help update that
    test again: capabilities=19bytes, part-107bytes)
test-ssh-bundle1.t 17.19 KiB
This test is a duplicate of 'test-http.t' feel free to factor out
parts that are not bundle1/bundle2 specific.

#testcases sshv1 sshv2

#if sshv2
  $ cat >> $HGRCPATH << EOF
  > [experimental]
  > sshpeer.advertise-v2 = true
  > sshserver.support-v2 = true
  > EOF
#endif

  $ cat << EOF >> $HGRCPATH
  > [devel]
  > # This test is dedicated to interaction through old bundle
  > legacy.exchange = bundle1
  > [format] # temporary settings
  > usegeneraldelta=yes
  > EOF


This test tries to exercise the ssh functionality with a dummy script

creating 'remote' repo

  $ hg init remote
  $ cd remote
  $ echo this > foo
  $ echo this > fooO
  $ hg ci -A -m "init" foo fooO

insert a closed branch (issue4428)

  $ hg up null
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  $ hg branch closed
  marked working directory as branch closed
  (branches are permanent and global, did you want a bookmark?)
  $ hg ci -mc0
  $ hg ci --close-branch -mc1
  $ hg up -q default

configure for serving

  $ cat <<EOF > .hg/hgrc
  > [server]
  > uncompressed = True
  > 
  > [hooks]
  > changegroup = sh -c "printenv.py changegroup-in-remote 0 ../dummylog"
  > EOF
  $ cd ..

repo not found error

  $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local
  remote: abort: repository nonexistent not found!
  abort: no suitable response from remote hg!
  [255]

non-existent absolute path

  $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy//`pwd`/nonexistent local
  remote: abort: repository /$TESTTMP/nonexistent not found!
  abort: no suitable response from remote hg!
  [255]

clone remote via stream