view tests/test-convert-svn-startrev.t @ 26306:d157e1f18e3f

revset: speed up existence checks for ordered filtered sets Previously, calling 'if foo:' on a ordered filtered set would start iterating in whatever the current direction was and return if a value was available. If the current direction was ascending, but the set had a fastdesc available, this meant we did a lot more work than necessary. If this was applied without my previous max/min fixes, it would improve max() performance (this was my first attempt at fixing the issue). Since those previous fixes went in though, this doesn't have a visible benefit in the benchmarks, but it does seem clearly better than it was before so I think it should still go in.
author Durham Goode <durham@fb.com>
date Sun, 20 Sep 2015 16:53:42 -0700
parents 7a9cbb315d84
children
line wrap: on
line source

#require svn svn-bindings

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > convert =
  > 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 log -G \
  >         --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