[PATCH RESEND] pull: silence spurious 'requesting all changes' message

Kevin Bullock kbullock+mercurial at ringworld.org
Wed Oct 20 19:10:05 CDT 2010


# HG changeset patch
# User Kevin Bullock <kbullock at ringworld.org>
# Date 1287614301 18000
# Node ID 974e8e363baf091e5b4a0467be66ac194d7e078a
# Parent  e8a8993b625e246dd21f6c299dae473b172348ec
pull: silence spurious 'requesting all changes' message

When issuing `hg pull -r REV` in a repo with no common ancestor with the
remote repo, the message 'requesting all changes' is printed, even though only
the changese that are ancestors of REV are actually requested. This can be
confusing for users (see
http://www.selenic.com/pipermail/mercurial/2010-October/035508.html).

This silences the message if (and only if) the '-r' option was passed.

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1272,7 +1272,7 @@
                 self.ui.status(_("no changes found\n"))
                 return 0
 
-            if fetch == [nullid]:
+            if heads is None and fetch == [nullid]:
                 self.ui.status(_("requesting all changes\n"))
             elif heads is None and remote.capable('changegroupsubset'):
                 # issue1320, avoid a race if remote changed after discovery
diff --git a/tests/test-acl.t b/tests/test-acl.t
--- a/tests/test-acl.t
+++ b/tests/test-acl.t
@@ -63,7 +63,6 @@
 
   $ cd ..
   $ hg clone -r 0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-branch-option.t b/tests/test-branch-option.t
--- a/tests/test-branch-option.t
+++ b/tests/test-branch-option.t
@@ -18,7 +18,6 @@
   $ hg tag -l z
   $ cd ..
   $ hg clone -r 0 branch branch2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -97,7 +96,6 @@
 
   $ cd ..
   $ hg clone branch2#b branch3
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -114,7 +112,6 @@
 clone rev a branch b
 
   $ hg clone -r a branch2#b branch3
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-bundle-vs-outgoing.t b/tests/test-bundle-vs-outgoing.t
--- a/tests/test-bundle-vs-outgoing.t
+++ b/tests/test-bundle-vs-outgoing.t
@@ -105,7 +105,6 @@
 sanity check of outgoing: expect revs 4 5 6 7 8
 
   $ hg clone -r3 . ../repo2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-bundle.t b/tests/test-bundle.t
--- a/tests/test-bundle.t
+++ b/tests/test-bundle.t
@@ -236,7 +236,6 @@
   $ rm -r empty
   $ hg init empty
   $ hg clone -r 3 test partial
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-clone-r.t b/tests/test-clone-r.t
--- a/tests/test-clone-r.t
+++ b/tests/test-clone-r.t
@@ -85,7 +85,6 @@
   > done
   
   ---- hg clone -r 0 test test-0
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -99,7 +98,6 @@
   1 files, 1 changesets, 1 total revisions
   
   ---- hg clone -r 1 test test-1
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -113,7 +111,6 @@
   1 files, 2 changesets, 2 total revisions
   
   ---- hg clone -r 2 test test-2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -127,7 +124,6 @@
   1 files, 3 changesets, 3 total revisions
   
   ---- hg clone -r 3 test test-3
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -141,7 +137,6 @@
   1 files, 4 changesets, 4 total revisions
   
   ---- hg clone -r 4 test test-4
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -155,7 +150,6 @@
   1 files, 2 changesets, 2 total revisions
   
   ---- hg clone -r 5 test test-5
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -169,7 +163,6 @@
   1 files, 3 changesets, 3 total revisions
   
   ---- hg clone -r 6 test test-6
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -183,7 +176,6 @@
   2 files, 4 changesets, 5 total revisions
   
   ---- hg clone -r 7 test test-7
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -197,7 +189,6 @@
   3 files, 5 changesets, 6 total revisions
   
   ---- hg clone -r 8 test test-8
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-clone-update-order.t b/tests/test-clone-update-order.t
--- a/tests/test-clone-update-order.t
+++ b/tests/test-clone-update-order.t
@@ -24,7 +24,6 @@
   [255]
 
   $ hg clone -U .#other ../b -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -32,7 +31,6 @@
   $ rm -rf ../b
 
   $ hg clone -u . .#other ../b -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -42,7 +40,6 @@
   $ rm -rf ../b
 
   $ hg clone -u 0 .#other ../b -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -52,7 +49,6 @@
   $ rm -rf ../b
 
   $ hg clone -u 1 .#other ../b -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -62,7 +58,6 @@
   $ rm -rf ../b
 
   $ hg clone -u 2 .#other ../b -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -74,7 +69,6 @@
 Test -r mine ... mine is ignored:
 
   $ hg clone -u 2 .#other ../b -r mine -r 0 -r 1 -r 2 -b other
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -84,7 +78,6 @@
   $ rm -rf ../b
 
   $ hg clone .#other ../b -b default -b mine
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -94,7 +87,6 @@
   $ rm -rf ../b
 
   $ hg clone .#other ../b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-clone.t b/tests/test-clone.t
--- a/tests/test-clone.t
+++ b/tests/test-clone.t
@@ -306,7 +306,6 @@
 Testing #<branch>:
 
   $ hg clone -u . a#stable ua
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -343,7 +342,6 @@
 Testing -u -r <branch>:
 
   $ hg clone -u . -r stable a ua
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -380,7 +378,6 @@
 Testing -r <branch>:
 
   $ hg clone -r stable a ua
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -442,7 +439,6 @@
   > EOF
 
   $ python branchclone.py
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-empty-group.t b/tests/test-empty-group.t
--- a/tests/test-empty-group.t
+++ b/tests/test-empty-group.t
@@ -49,7 +49,6 @@
   $ cd ..
 
   $ hg clone -r 3 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -58,7 +57,6 @@
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg clone -r 4 a c
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-eol-clone.t b/tests/test-eol-clone.t
--- a/tests/test-eol-clone.t
+++ b/tests/test-eol-clone.t
@@ -60,7 +60,6 @@
 
   $ cd ..
   $ hg clone -r 0 repo repo-4
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-glog.t b/tests/test-glog.t
--- a/tests/test-glog.t
+++ b/tests/test-glog.t
@@ -756,7 +756,6 @@
 Incoming and outgoing:
 
   $ hg clone -U -r31 repo repo2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-hgweb-diffs.t b/tests/test-hgweb-diffs.t
--- a/tests/test-hgweb-diffs.t
+++ b/tests/test-hgweb-diffs.t
@@ -471,7 +471,6 @@
 test import rev as raw-rev
 
   $ hg clone -r0 test test1
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-http-clone-r.t b/tests/test-http-clone-r.t
--- a/tests/test-http-clone-r.t
+++ b/tests/test-http-clone-r.t
@@ -92,7 +92,6 @@
   >       cd ..
   >    fi
   > done
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -104,7 +103,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 1 changesets, 1 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -116,7 +114,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -128,7 +125,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -140,7 +136,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 4 changesets, 4 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -152,7 +147,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -164,7 +158,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -176,7 +169,6 @@
   crosschecking files in changesets and manifests
   checking files
   2 files, 4 changesets, 5 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -188,7 +180,6 @@
   crosschecking files in changesets and manifests
   checking files
   3 files, 5 changesets, 6 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-import.t b/tests/test-import.t
--- a/tests/test-import.t
+++ b/tests/test-import.t
@@ -14,7 +14,6 @@
 import exported patch
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -45,7 +44,6 @@
   > EOF
   $ chmod +x dummypatch.py
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -63,7 +61,6 @@
 import of plain diff should fail without message
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -81,7 +78,6 @@
 import of plain diff should be ok with message
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -97,7 +93,6 @@
 import of plain diff with specific date and user
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -130,7 +125,6 @@
 import of plain diff should be ok with --no-commit
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -153,7 +147,6 @@
 import of malformed plain diff should fail
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -175,7 +168,6 @@
 
   $ mkdir dir
   $ hg clone -r0 a dir/b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -193,7 +185,6 @@
 import from stdin
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -221,7 +212,6 @@
 override commit message
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -247,7 +237,6 @@
 plain diff in email, subject, message body
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -267,7 +256,6 @@
 plain diff in email, no subject, message body
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -282,7 +270,6 @@
 plain diff in email, subject, no message body
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -297,7 +284,6 @@
 plain diff in email, no subject, no message body, should fail
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -314,7 +300,6 @@
 hg export in email, should use patch header
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -345,7 +330,6 @@
 plain diff in email, [PATCH] subject, message body with subject
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -394,7 +378,6 @@
 hg import in a subdirectory
 
   $ hg clone -r0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-issue1306.t b/tests/test-issue1306.t
--- a/tests/test-issue1306.t
+++ b/tests/test-issue1306.t
@@ -42,7 +42,6 @@
 Try cloning -r branch:
 
   $ hg clone -rbr remote local1
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -62,7 +61,6 @@
 Try cloning -rother clone#branch:
 
   $ hg clone -r0 remote#br local2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -80,7 +78,6 @@
 Try cloning -r1 clone#branch:
 
   $ hg clone -r1 remote#br local3
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-keyword.t b/tests/test-keyword.t
--- a/tests/test-keyword.t
+++ b/tests/test-keyword.t
@@ -726,7 +726,6 @@
 Clone to test incoming
 
   $ hg clone -r1 Test Test-a
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-merge-commit.t b/tests/test-merge-commit.t
--- a/tests/test-merge-commit.t
+++ b/tests/test-merge-commit.t
@@ -100,7 +100,6 @@
 
   $ cd ..
   $ hg clone -U -r 1 -r 2 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-mq-safety.t b/tests/test-mq-safety.t
--- a/tests/test-mq-safety.t
+++ b/tests/test-mq-safety.t
@@ -131,7 +131,6 @@
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg --cwd .. clone -r 0 forcepush forcepush2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-patch.t b/tests/test-patch.t
--- a/tests/test-patch.t
+++ b/tests/test-patch.t
@@ -27,7 +27,6 @@
 
   $ hg --cwd a export -o ../a.diff tip
   $ hg clone -r 0 a b
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -64,7 +63,6 @@
 Clone and apply patch:
 
   $ hg clone -r 0 c d
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-pull-pull-corruption.t b/tests/test-pull-pull-corruption.t
--- a/tests/test-pull-pull-corruption.t
+++ b/tests/test-pull-pull-corruption.t
@@ -14,7 +14,6 @@
 create one repo with a shorter history
 
   $ hg clone -r 0 source1 source2
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-relink.t b/tests/test-relink.t
--- a/tests/test-relink.t
+++ b/tests/test-relink.t
@@ -40,7 +40,6 @@
 clone and pull to break links
 
   $ hg clone --pull -r0 repo clone
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-ssh-clone-r.t b/tests/test-ssh-clone-r.t
--- a/tests/test-ssh-clone-r.t
+++ b/tests/test-ssh-clone-r.t
@@ -110,7 +110,6 @@
   >       cd ..
   >    fi
   > done
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -122,7 +121,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 1 changesets, 1 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -134,7 +132,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -146,7 +143,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -158,7 +154,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 4 changesets, 4 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -170,7 +165,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -182,7 +176,6 @@
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -194,7 +187,6 @@
   crosschecking files in changesets and manifests
   checking files
   2 files, 4 changesets, 5 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -206,7 +198,6 @@
   crosschecking files in changesets and manifests
   checking files
   3 files, 5 changesets, 6 total revisions
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-static-http.t b/tests/test-static-http.t
--- a/tests/test-static-http.t
+++ b/tests/test-static-http.t
@@ -93,7 +93,6 @@
   abort: unknown revision 'donotexist'!
   [255]
   $ hg clone -r 0 static-http://localhost:$HGPORT/remote local0
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t
--- a/tests/test-subrepo.t
+++ b/tests/test-subrepo.t
@@ -632,7 +632,6 @@
   $ hg init issue1852c
   $ hg -R issue1852c pull -r0 -u issue1852a
   pulling from issue1852a
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-transplant.t b/tests/test-transplant.t
--- a/tests/test-transplant.t
+++ b/tests/test-transplant.t
@@ -87,7 +87,6 @@
 remote transplant
 
   $ hg clone -r 1 ../t ../remote
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -145,7 +144,6 @@
   $ cat ../t.pid >> $DAEMON_PIDS
 
   $ hg clone -r 0 ../t ../rp
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
@@ -265,7 +263,6 @@
   $ hg init empty
   $ cd empty
   $ hg transplant -s ../t -b tip -a
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes
diff --git a/tests/test-url-rev.t b/tests/test-url-rev.t
--- a/tests/test-url-rev.t
+++ b/tests/test-url-rev.t
@@ -11,7 +11,6 @@
   $ cd ..
 
   $ hg clone 'repo#foo' clone
-  requesting all changes
   adding changesets
   adding manifests
   adding file changes


More information about the Mercurial-devel mailing list