##// END OF EJS Templates
bundle: don't send too many changesets (Issue1704)...
bundle: don't send too many changesets (Issue1704) The fast path in changegroupsubset can send too many csets. This happens because it uses the parents of all bases as common nodes and then goes forward from this again. If a base has a parent that has another child, which is -not- a base, then this other child will nevertheless end up in the changegroup. The fix is to not use findmissing(), but use nodesbetween() instead, as do the slow path and incoming/outgoing. The change to test-notify.out is correct, because it actually hits this bug, as can be seen by glog'ing the two repos: @ 22c88 |\ | o 0a184 | | o | 0647d |/ o cb9a9 and o 0647d | @ cb9a9 It used to pull 0647d again, which is unnecessary.

File last commit:

r9820:0b999aec default
r9820:0b999aec default
Show More
test-bundle.out
348 lines | 9.0 KiB | text/plain | TextLexer
====== Setting up test
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
created new head
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
====== Bundle --all
9 changesets found
====== Bundle test to full.hg
searching for changes
9 changesets found
====== Unbundle full.hg in test
adding changesets
adding manifests
adding file changes
added 0 changesets with 0 changes to 4 files
(run 'hg update' to get a working copy)
====== Verify empty
changeset: -1:000000000000
tag: tip
user:
date: Thu Jan 01 00:00:00 1970 +0000
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
====== Pull full.hg into test (using --cwd)
pulling from ../full.hg
searching for changes
no changes found
====== Pull full.hg into empty (using --cwd)
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Rollback empty
rolling back last transaction
====== Pull full.hg into empty again (using --cwd)
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Pull full.hg into test (using -R)
pulling from full.hg
searching for changes
no changes found
====== Pull full.hg into empty (using -R)
pulling from full.hg
searching for changes
no changes found
====== Rollback empty
rolling back last transaction
====== Pull full.hg into empty again (using -R)
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Log -R full.hg in fresh empty
changeset: 8:836ac62537ab
tag: tip
parent: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3m
changeset: 7:80fe151401c2
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3m
changeset: 6:1e3f6b843bd6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3
changeset: 5:024e4e7df376
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.2
changeset: 4:5f4f3ceb285e
parent: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.1
changeset: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3
changeset: 2:d62976ca1e50
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.2
changeset: 1:10b2180f755b
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.1
changeset: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.0
====== Pull ../full.hg into empty (with hook)
changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:../full.hg
pulling from bundle://../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Rollback empty
rolling back last transaction
====== Log -R bundle:empty+full.hg
8 7 6 5 4 3 2 1 0
====== Pull full.hg into empty again (using -R; with hook)
changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:empty+full.hg
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
====== Create partial clones
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== Log -R full.hg in partial
changeset: 8:836ac62537ab
tag: tip
parent: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3m
changeset: 7:80fe151401c2
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3m
changeset: 6:1e3f6b843bd6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3
changeset: 5:024e4e7df376
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.2
changeset: 4:5f4f3ceb285e
parent: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.1
changeset: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3
changeset: 2:d62976ca1e50
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.2
changeset: 1:10b2180f755b
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.1
changeset: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.0
====== Incoming full.hg in partial
comparing with bundle://../full.hg
searching for changes
changeset: 4:5f4f3ceb285e
parent: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.1
changeset: 5:024e4e7df376
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.2
changeset: 6:1e3f6b843bd6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3
changeset: 7:80fe151401c2
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3m
changeset: 8:836ac62537ab
tag: tip
parent: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3m
====== Outgoing -R full.hg vs partial2 in partial
comparing with ../partial2
searching for changes
changeset: 4:5f4f3ceb285e
parent: 0:5649c9d34dd8
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.1
changeset: 5:024e4e7df376
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.2
changeset: 6:1e3f6b843bd6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3
changeset: 7:80fe151401c2
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3m
changeset: 8:836ac62537ab
tag: tip
parent: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3m
====== Outgoing -R does-not-exist.hg vs partial2 in partial
abort: No such file or directory: ../does-not-exist.hg
====== Direct clone from bundle (all-history)
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
changeset: 8:836ac62537ab
tag: tip
parent: 3:ac69c658229d
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 0.3m
changeset: 7:80fe151401c2
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: 1.3m
====== Unbundle incremental bundles into fresh empty in one go
1 changesets found
1 changesets found
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== test for 540d1059c802
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
searching for changes
1 changesets found
comparing with ../bundle.hg
searching for changes
changeset: 2:ed1b79f46b9a
tag: tip
parent: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: change foo
===== test that verify bundle does not traceback
abort: 00changelog.i@bbd179dfa0a7: unknown parent!
abort: cannot verify bundle or remote repos
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
====== diff against bundle
diff -r 836ac62537ab anotherfile
--- a/anotherfile Mon Jan 12 13:46:40 1970 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-0
-1
-2
-3
====== bundle single branch
adding a
adding b
adding b1
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
adding c
created new head
adding c1
== bundling via incoming
comparing with .
searching for changes
d2ae7f538514cd87c17547b0de4cea71fe1af9fb
5ece8e77363e2b5269e27c66828b72da29e4341a
== bundling
searching for changes
common changesets up to c0025332f9ed
2 changesets found
list of changesets:
d2ae7f538514cd87c17547b0de4cea71fe1af9fb
5ece8e77363e2b5269e27c66828b72da29e4341a