Patchwork D3059: tests: use `hg unbundle` instead of `hg pull` in some tests

login
register
mail settings
Submitter phabricator
Date April 4, 2018, 1:57 a.m.
Message ID <differential-rev-PHID-DREV-zxpnj2h2zjhtppa4azgm-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/30234/
State Superseded
Headers show

Comments

phabricator - April 4, 2018, 1:57 a.m.
indygreg created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  `hg pull <bundle>` uses the special "bundlerepo" repository. The
  bundlerepo code makes many assumptions about the storage of
  repositories. It will be difficult to teach bundlerepo to use
  non-revlog storage before a better storage interface is established.
  
  Many test failures using our "simple store" are related to
  bundlerepo: the simple store just isn't compatible with bundlerepo
  because of storage assumptions in bundlerepo.
  
  In order to mitigate the impact of bundlerepo on our code base,
  this commit changes various tests to use `hg unbundle` instead
  of `hg pull`. This bypasses the bundlerepo code.
  
  Tests exercising exchange functionality have not been altered, as
  they should be using `hg pull` and going through the bundlerepo
  code paths.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3059

AFFECTED FILES
  tests/test-branches.t
  tests/test-bundle-type.t
  tests/test-keyword.t
  tests/test-merge-symlinks.t
  tests/test-narrow-strip.t
  tests/test-rebase-conflicts.t
  tests/test-strip.t
  tests/test-treemanifest.t

CHANGE DETAILS




To: indygreg, durin42, #hg-reviewers
Cc: mercurial-devel
phabricator - April 4, 2018, 6:13 p.m.
durin42 added a comment.


  Quick question before I'm okay with this: do we still have an explicit test of `hg pull` from a bundle somewhere?
  
  If so, this is strictly an improvement, since pull-from-bundle is slower than straight-unbundle.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3059

To: indygreg, durin42, #hg-reviewers
Cc: mercurial-devel
phabricator - April 4, 2018, 6:33 p.m.
indygreg added a comment.


  In https://phab.mercurial-scm.org/D3059#49559, @durin42 wrote:
  
  > Quick question before I'm okay with this: do we still have an explicit test of `hg pull` from a bundle somewhere?
  >
  > If so, this is strictly an improvement, since pull-from-bundle is slower than straight-unbundle.
  
  
  It has to be evaluated on a case-by-case basis. I attempted to only make changes where the test was simply adding revisions to a repo and not testing behavior w.r.t. exchange. That being said, I audited this again and found at least one error. So will submit a follow-up.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3059

To: indygreg, durin42, #hg-reviewers
Cc: mercurial-devel
phabricator - April 4, 2018, 6:55 p.m.
durin42 added a comment.


  Answered my own question, a couple of callsites are left. :)

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3059

To: indygreg, durin42, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t
--- a/tests/test-treemanifest.t
+++ b/tests/test-treemanifest.t
@@ -334,9 +334,7 @@ 
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     modify dir1/a
   
-  $ hg pull .hg/strip-backup/*
-  pulling from .hg/strip-backup/51cfd7b1e13b-78a2f3ed-backup.hg
-  searching for changes
+  $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-strip.t b/tests/test-strip.t
--- a/tests/test-strip.t
+++ b/tests/test-strip.t
@@ -215,13 +215,11 @@ 
   cache:rev-branch-cache -- {}
   phase-heads -- {}
       264128213d290d868c54642d13aeaa3675551a78 draft
-  $ hg pull .hg/strip-backup/*
-  pulling from .hg/strip-backup/264128213d29-0b39d6bf-backup.hg
-  searching for changes
+  $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
   adding file changes
-  added 1 changesets with 0 changes to 0 files (+1 heads)
+  added 1 changesets with 0 changes to 1 files (+1 heads)
   new changesets 264128213d29
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ rm .hg/strip-backup/*
@@ -1108,9 +1106,7 @@ 
      summary:     commitA
   
 
-  $ hg pull -u $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
-  pulling from $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
-  searching for changes
+  $ hg unbundle -u $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-rebase-conflicts.t b/tests/test-rebase-conflicts.t
--- a/tests/test-rebase-conflicts.t
+++ b/tests/test-rebase-conflicts.t
@@ -148,16 +148,17 @@ 
 
 Check that the right ancestors is used while rebasing a merge (issue4041)
 
-  $ hg clone "$TESTDIR/bundles/issue4041.hg" issue4041
-  requesting all changes
+  $ hg init issue4041
+  $ cd issue4041
+  $ hg unbundle "$TESTDIR/bundles/issue4041.hg"
   adding changesets
   adding manifests
   adding file changes
   added 11 changesets with 8 changes to 3 files (+1 heads)
   new changesets 24797d4f68de:2f2496ddf49d
-  updating to branch default
+  (run 'hg heads' to see heads)
+  $ hg up default
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ cd issue4041
   $ hg log -G
   o    changeset:   10:2f2496ddf49d
   |\   branch:      f1
diff --git a/tests/test-narrow-strip.t b/tests/test-narrow-strip.t
--- a/tests/test-narrow-strip.t
+++ b/tests/test-narrow-strip.t
@@ -116,9 +116,7 @@ 
   $ hg strip .
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob)
-  $ hg pull .hg/strip-backup/*-backup.hg
-  pulling from .hg/strip-backup/*-backup.hg (glob)
-  searching for changes
+  $ hg unbundle .hg/strip-backup/*-backup.hg
   adding changesets
   adding manifests
   adding file changes
@@ -152,9 +150,7 @@ 
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     modify inside
   
-  $ hg pull .hg/strip-backup/*-backup.hg
-  pulling from .hg/strip-backup/*-backup.hg (glob)
-  requesting all changes
+  $ hg unbundle .hg/strip-backup/*-backup.hg
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-merge-symlinks.t b/tests/test-merge-symlinks.t
--- a/tests/test-merge-symlinks.t
+++ b/tests/test-merge-symlinks.t
@@ -31,7 +31,7 @@ 
 
   $ hg init t
   $ cd t
-  $ hg -q pull "$TESTDIR/bundles/test-merge-symlinks.hg"
+  $ hg -q unbundle "$TESTDIR/bundles/test-merge-symlinks.hg"
   $ hg up -C 3
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
diff --git a/tests/test-keyword.t b/tests/test-keyword.t
--- a/tests/test-keyword.t
+++ b/tests/test-keyword.t
@@ -118,14 +118,14 @@ 
  hg ci -m addsym -u mercurial
  hg bundle --base null ../test-keyword.hg
 
-  $ hg pull -u "$TESTDIR"/bundles/test-keyword.hg
-  pulling from *test-keyword.hg (glob)
-  requesting all changes
+  $ hg unbundle "$TESTDIR"/bundles/test-keyword.hg
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   new changesets a2392c293916
+  (run 'hg update' to get a working copy)
+  $ hg up a2392c293916
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ echo 'expand $Id$' > a
diff --git a/tests/test-bundle-type.t b/tests/test-bundle-type.t
--- a/tests/test-bundle-type.t
+++ b/tests/test-bundle-type.t
@@ -13,9 +13,7 @@ 
   1 changesets found
 
   $ cd ../t2
-  $ hg pull ../b1
-  pulling from ../b1
-  requesting all changes
+  $ hg unbundle ../b1
   adding changesets
   adding manifests
   adding file changes
@@ -32,7 +30,7 @@ 
 
   $ hg init t3
   $ cd t3
-  $ hg -q pull ../b1
+  $ hg -q unbundle ../b1
   $ hg bundle -a -t unknown out.hg
   abort: unknown is not a recognized bundle specification
   (see 'hg help bundlespec' for supported values for --type)
diff --git a/tests/test-branches.t b/tests/test-branches.t
--- a/tests/test-branches.t
+++ b/tests/test-branches.t
@@ -86,9 +86,7 @@ 
 
   $ hg init test-invalid-branch-name
   $ cd test-invalid-branch-name
-  $ hg pull -u "$TESTDIR"/bundles/test-invalid-branch-name.hg
-  pulling from *test-invalid-branch-name.hg (glob)
-  requesting all changes
+  $ hg unbundle -u "$TESTDIR"/bundles/test-invalid-branch-name.hg
   adding changesets
   adding manifests
   adding file changes