view tests/test-convert-git.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 bb377a311109
children
line wrap: on
line source

rm 'd/b'
assuming destination git-repo-hg
initializing destination git-repo-hg repository
scanning source...
sorting...
converting...
5 t1
4 t2
3 t3
2 t4.1
1 t4.2
0 Merge branch other
changeset:   5:c78094926be2
tag:         tip
parent:      3:f5f5cb45432b
parent:      4:4e174f80c67c
user:        test <test@example.org>
date:        Mon Jan 01 00:00:15 2007 +0000
files:       a
description:
Merge branch other


% full conversion
@    9 "Discard change to foo" files: foo
|\
| o  8 "change foo" files: foo
| |
o |  7 "change bar" files: bar
|/
o    6 "(octopus merge fixup)" files:
|\
| o    5 "Octopus merge" files: baz
| |\
o | |  4 "add baz" files: baz
| | |
+---o  3 "add bar" files: bar
| |
o |  2 "add quux" files: quux
| |
| o  1 "change foo" files: foo
|/
o  0 "add foo" files: foo

245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
% foo bar baz: octopus merge
@    8 "Discard change to foo" files: foo
|\
| o  7 "change foo" files: foo
| |
o |  6 "change bar" files: bar
|/
o    5 "(octopus merge fixup)" files:
|\
| o    4 "Octopus merge" files: baz
| |\
o | |  3 "add baz" files: baz
| | |
+---o  2 "add bar" files: bar
| |
| o  1 "change foo" files: foo
|/
o  0 "add foo" files: foo

245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
% foo baz quux: only some parents of an octopus merge; "discard" a head
@  6 "Discard change to foo" files: foo
|
o  5 "change foo" files: foo
|
o    4 "Octopus merge" files:
|\
| o  3 "add baz" files: baz
| |
| o  2 "add quux" files: quux
| |
o |  1 "change foo" files: foo
|/
o  0 "add foo" files: foo

354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux

% test binary conversion (issue 1359)
% convert binary file
initializing destination git-repo3-hg repository
scanning source...
sorting...
converting...
0 addbinary
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4096

% test author vs committer
% convert author committer
initializing destination git-repo4-hg repository
scanning source...
sorting...
converting...
1 addfoo
0 addfoo2
changeset:   1:d63e967f93da
tag:         tip
user:        nottest <test@example.org>
date:        Mon Jan 01 00:00:21 2007 +0000
files:       foo
description:
addfoo2

committer: test <test@example.org>


changeset:   0:0735477b0224
user:        test <test@example.org>
date:        Mon Jan 01 00:00:20 2007 +0000
files:       foo
description:
addfoo


% --sourceorder should fail
initializing destination git-repo4-sourcesort-hg repository
abort: --sourcesort is not supported by this data source
% damage git repository and convert again
abort: