view tests/test-bundle.out @ 11109:a2bc2f2d77a9

subrepo: normalize path part of URLs so that pulling subrepos from webdir works For a "all projects at root" repo layout eg: /main /sub Where subrepos are used such that a clone of main has this layout: ./main/ ./main/.hgsub ./main/sub/ And the .hgsub content is: sub = ../sub This allows a pull from a hgweb where main and sub are exposed at the root (or same directory level) The current code doesn't normalize the path component of a pull url. this results in trying to pull from http://server.com/hg/main/../sub Current hgweb implementation doesn't reduce the path component so this results in a 404 error though everything is setup logically. This patch adresses this 404 error on the puller side normalizing the URLs used for pulling sub repos. For this example, the URL would be reduced to http://server.com/hg/sub Fix + test
author Edouard Gomez <ed.gomez@free.fr>
date Sat, 01 May 2010 23:05:19 +0200
parents 468876bc3885
children 39e7f14a8286
line wrap: on
line source

====== 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
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 to revision 0 (undo pull)
====== 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 to revision 0 (undo pull)
====== 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:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
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 to revision 0 (undo pull)
====== 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:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
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:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   8:088ff9d6e1e1
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:27f57c869697
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1.3m

changeset:   8:088ff9d6e1e1
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:088ff9d6e1e1
tag:         tip
parent:      3:ac69c658229d
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     0.3m

changeset:   7:27f57c869697
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 088ff9d6e1e1 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
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling files: b 0 chunks
bundling files: b 1 chunks
bundling files: b 2 chunks
bundling files: b 3 chunks
bundling files: b1 4 chunks
bundling files: b1 5 chunks
bundling files: b1 6 chunks
bundling files: b1 7 chunks