view tests/test-convert-svn-startrev.t @ 19929:ab2362e1672e

merge: exit early during a no-op update (BC) hg update . (or equivalents) are effectively no-ops in just about all circumstances. These sorts of updates can be especially common in a bookmark-oriented workflow. This saves us a status check and a manifest decompression, which means that on a repo with over 210,000 files, this brings hg update . down from 2.5 seconds to 0.15. There is one change in behavior: a file that was added, not committed, and then deleted but not removed used to be removed from the dirstate. With this patch it isn't. This is what causes the change in test-mq-qpush-exact.t. This seems like it's enough of an edge case to not be worth handling. The output of test-empty.t changes because those files are not yet created.
author Siddharth Agarwal <sid0@fb.com>
date Tue, 01 Oct 2013 17:43:54 -0700
parents 2da47de36b6f
children aa9385f983fa
line wrap: on
line source


  $ "$TESTDIR/hghave" svn svn-bindings || exit 80

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > convert =
  > graphlog =
  > EOF
  $ convert()
  > {
  >     startrev=$1
  >     repopath=A-r$startrev-hg
  >     hg convert --config convert.svn.startrev=$startrev \
  >         --config convert.svn.trunk=branches/branch1 \
  >         --config convert.svn.branches="  " \
  >         --config convert.svn.tags= \
  >         --datesort svn-repo $repopath
  >     hg -R $repopath glog \
  >         --template '{rev} {desc|firstline} files: {files}\n'
  >     echo
  > }

  $ svnadmin create svn-repo
  $ svnadmin load -q svn-repo < "$TESTDIR/svn/startrev.svndump"

Convert before branching point

  $ convert 3
  initializing destination A-r3-hg repository
  scanning source...
  sorting...
  converting...
  3 removeb
  2 changeaa
  1 branch, changeaaa
  0 addc,changeaaaa
  o  3 addc,changeaaaa files: a c
  |
  o  2 branch, changeaaa files: a
  |
  o  1 changeaa files: a
  |
  o  0 removeb files: a
  
  

Convert before branching point

  $ convert 4
  initializing destination A-r4-hg repository
  scanning source...
  sorting...
  converting...
  2 changeaa
  1 branch, changeaaa
  0 addc,changeaaaa
  o  2 addc,changeaaaa files: a c
  |
  o  1 branch, changeaaa files: a
  |
  o  0 changeaa files: a
  
  

Convert at branching point

  $ convert 5
  initializing destination A-r5-hg repository
  scanning source...
  sorting...
  converting...
  1 branch, changeaaa
  0 addc,changeaaaa
  o  1 addc,changeaaaa files: a c
  |
  o  0 branch, changeaaa files: a
  
  

Convert last revision only

  $ convert 6
  initializing destination A-r6-hg repository
  scanning source...
  sorting...
  converting...
  0 addc,changeaaaa
  o  0 addc,changeaaaa files: a c