tests/test-narrow-widen.t
changeset 39388 5ebfb7cc6f2c
parent 36122 dc01484606da
child 39483 83dd656586b1
equal deleted inserted replaced
39387:570fca90d556 39388:5ebfb7cc6f2c
    74   $ hg commit -m 'add outside2'
    74   $ hg commit -m 'add outside2'
    75 
    75 
    76   $ echo 'widest v4' > widest/f
    76   $ echo 'widest v4' > widest/f
    77   $ hg commit -m 'update widest v4'
    77   $ hg commit -m 'update widest v4'
    78 
    78 
    79   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
    79   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
    80   *: update widest v4 (glob)
    80   7: update widest v4
    81   *: add outside2 (glob)
    81   6: add outside2
    82   *: update inside (glob)
    82   5: update inside
    83   *: update widest v3 (glob)
    83   4: update widest v3
    84   *: add wider, update widest (glob)
    84   3: add wider, update widest
    85   *: add outside (glob)
    85   2: add outside
    86   *: add widest (glob)
    86   1: add widest
    87   *: add inside (glob)
    87   0: add inside
    88 
    88 
    89   $ cd ..
    89   $ cd ..
    90 
    90 
    91 Widen the narrow spec to see the wider file. This should not get the newly
    91 Widen the narrow spec to see the wider file. This should not get the newly
    92 added upstream revisions.
    92 added upstream revisions.
   127   $ cat wider/f
   127   $ cat wider/f
   128   wider
   128   wider
   129   $ cat inside/f
   129   $ cat inside/f
   130   inside v2
   130   inside v2
   131 
   131 
   132   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
   132   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
   133   ...*: update widest v4 (glob)
   133   ...5: update widest v4
   134   *: update inside (glob)
   134   4: update inside
   135   ...*: update widest v3 (glob)
   135   ...3: update widest v3
   136   *: add wider, update widest (glob)
   136   2: add wider, update widest
   137   ...*: add outside (glob)
   137   ...1: add outside
   138   *: add inside (glob)
   138   0: add inside
   139 
   139 
   140 Check that widening with a newline fails
   140 Check that widening with a newline fails
   141 
   141 
   142   $ hg tracked --addinclude 'widest
   142   $ hg tracked --addinclude 'widest
   143   > '
   143   > '
   177   $ hg update 'desc("update widest v4")'
   177   $ hg update 'desc("update widest v4")'
   178   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   178   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   179   $ cat widest/f
   179   $ cat widest/f
   180   widest v4
   180   widest v4
   181 
   181 
   182   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
   182   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
   183   *: update widest v4 (glob)
   183   7: update widest v4
   184   ...*: add outside2 (glob)
   184   ...6: add outside2
   185   *: update inside (glob)
   185   5: update inside
   186   *: update widest v3 (glob)
   186   4: update widest v3
   187   *: add wider, update widest (glob)
   187   3: add wider, update widest
   188   ...*: add outside (glob)
   188   ...2: add outside
   189   *: add widest (glob)
   189   1: add widest
   190   *: add inside (glob)
   190   0: add inside
   191 
   191 
   192 separate suite of tests: files from 0-10 modified in changes 0-10. This allows
   192 separate suite of tests: files from 0-10 modified in changes 0-10. This allows
   193 more obvious precise tests tickling particular corner cases.
   193 more obvious precise tests tickling particular corner cases.
   194 
   194 
   195   $ cd ..
   195   $ cd ..
   204   >   mkdir d$x
   204   >   mkdir d$x
   205   >   echo $x > d$x/f
   205   >   echo $x > d$x/f
   206   >   hg add d$x/f
   206   >   hg add d$x/f
   207   >   hg commit -m "add d$x/f"
   207   >   hg commit -m "add d$x/f"
   208   > done
   208   > done
   209   $ hg log -T "{node|short}: {desc}\n"
   209   $ hg log -T "{rev}: {desc}\n"
   210   *: add d10/f (glob)
   210   10: add d10/f
   211   *: add d9/f (glob)
   211   9: add d9/f
   212   *: add d8/f (glob)
   212   8: add d8/f
   213   *: add d7/f (glob)
   213   7: add d7/f
   214   *: add d6/f (glob)
   214   6: add d6/f
   215   *: add d5/f (glob)
   215   5: add d5/f
   216   *: add d4/f (glob)
   216   4: add d4/f
   217   *: add d3/f (glob)
   217   3: add d3/f
   218   *: add d2/f (glob)
   218   2: add d2/f
   219   *: add d1/f (glob)
   219   1: add d1/f
   220   *: add d0/f (glob)
   220   0: add d0/f
   221 
   221 
   222 make narrow clone with every third node.
   222 make narrow clone with every third node.
   223 
   223 
   224   $ cd ..
   224   $ cd ..
   225   $ hg clone --narrow ssh://user@dummy/upstream narrow2 --include d0 --include d3 --include d6 --include d9
   225   $ hg clone --narrow ssh://user@dummy/upstream narrow2 --include d0 --include d3 --include d6 --include d9
   242   checking manifests
   242   checking manifests
   243   checking directory manifests (tree !)
   243   checking directory manifests (tree !)
   244   crosschecking files in changesets and manifests
   244   crosschecking files in changesets and manifests
   245   checking files
   245   checking files
   246   4 files, 8 changesets, 4 total revisions
   246   4 files, 8 changesets, 4 total revisions
   247   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
   247   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
   248   ...*: add d10/f (glob)
   248   ...7: add d10/f
   249   *: add d9/f (glob)
   249   6: add d9/f
   250   ...*: add d8/f (glob)
   250   ...5: add d8/f
   251   *: add d6/f (glob)
   251   4: add d6/f
   252   ...*: add d5/f (glob)
   252   ...3: add d5/f
   253   *: add d3/f (glob)
   253   2: add d3/f
   254   ...*: add d2/f (glob)
   254   ...1: add d2/f
   255   *: add d0/f (glob)
   255   0: add d0/f
   256   $ hg tracked --addinclude d1
   256   $ hg tracked --addinclude d1
   257   comparing with ssh://user@dummy/upstream
   257   comparing with ssh://user@dummy/upstream
   258   searching for changes
   258   searching for changes
   259   no changes found
   259   no changes found
   260   saved backup bundle to $TESTTMP/narrow2/.hg/strip-backup/*-widen.hg (glob)
   260   saved backup bundle to $TESTTMP/narrow2/.hg/strip-backup/*-widen.hg (glob)
   267   I path:d0
   267   I path:d0
   268   I path:d1
   268   I path:d1
   269   I path:d3
   269   I path:d3
   270   I path:d6
   270   I path:d6
   271   I path:d9
   271   I path:d9
   272   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
   272   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
   273   ...*: add d10/f (glob)
   273   ...8: add d10/f
   274   *: add d9/f (glob)
   274   7: add d9/f
   275   ...*: add d8/f (glob)
   275   ...6: add d8/f
   276   *: add d6/f (glob)
   276   5: add d6/f
   277   ...*: add d5/f (glob)
   277   ...4: add d5/f
   278   *: add d3/f (glob)
   278   3: add d3/f
   279   ...*: add d2/f (glob)
   279   ...2: add d2/f
   280   *: add d1/f (glob)
   280   1: add d1/f
   281   *: add d0/f (glob)
   281   0: add d0/f
   282 
   282 
   283 Verify shouldn't claim the repo is corrupt after a widen.
   283 Verify shouldn't claim the repo is corrupt after a widen.
   284 
   284 
   285   $ hg verify
   285   $ hg verify
   286   checking changesets
   286   checking changesets
   293 Widening preserves parent of local commit
   293 Widening preserves parent of local commit
   294 
   294 
   295   $ cd ..
   295   $ cd ..
   296   $ hg clone -q --narrow ssh://user@dummy/upstream narrow3 --include d2 -r 2
   296   $ hg clone -q --narrow ssh://user@dummy/upstream narrow3 --include d2 -r 2
   297   $ cd narrow3
   297   $ cd narrow3
   298   $ hg log -T "{if(ellipsis, '...')}{node|short}: {desc}\n"
   298   $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
   299   *: add d2/f (glob)
   299   1: add d2/f
   300   ...*: add d1/f (glob)
   300   ...0: add d1/f
   301   $ hg pull -q -r 3
   301   $ hg pull -q -r 3
   302   $ hg co -q tip
   302   $ hg co -q tip
   303   $ hg pull -q -r 4
   303   $ hg pull -q -r 4
   304   $ echo local > d2/f
   304   $ echo local > d2/f
   305   $ hg ci -m local
   305   $ hg ci -m local