view tests/test-clone.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 fd511e9eeea6
children 5b48d819d5f9
line wrap: on
line source


% prepare repo a
% list files in store/data (should show a 'b.d')
.hg/store/data/a.i
.hg/store/data/b.d
.hg/store/data/b.i

% default operation
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
a
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions

% no update
a not present
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions

% default destination
destination directory: a
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
a

% check that we drop the file: from the path before
% writing the .hgrc
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% check that path aliases are expanded
a#0

% use --pull
requesting all changes
adding changesets
adding manifests
adding file changes
added 11 changesets with 11 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 11 changesets, 11 total revisions

% clone to .
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved


% *** tests for option -u ***


% adding some more history to repo a
% tag ref1
% updating back to ref1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved

% add branch 'stable' to repo a for later tests
marked working directory as branch stable
created new head
% tag ref2

% updating back to ref2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved

% parents of repo a
changeset:   13:e8ece76546a6
branch:      stable
tag:         ref2
parent:      10:a7949464abda
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     starting branch stable


% repo a has two heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% testing clone -U -u 1 a ua (must abort)
abort: cannot specify both --noupdate and --updaterev

% testing clone -u . a ua
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has both heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% same revision checked out in repo a and ua
e8ece76546a6
e8ece76546a6

% testing clone --pull -u . a ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 16 changesets with 16 changes to 3 files (+1 heads)
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has both heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% same revision checked out in repo a and ua
e8ece76546a6
e8ece76546a6

% testing clone -u stable a ua
updating to branch stable
3 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has both heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% branch stable is checked out
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable


% testing clone a ua
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has both heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% branch default is checked out
changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% testing clone -u . a#stable ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has only branch stable
changeset:   13:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   10:a7949464abda
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     test


% same revision checked out in repo a and ua
e8ece76546a6
e8ece76546a6

% testing clone -u . -r stable a ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has only branch stable
changeset:   13:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   10:a7949464abda
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     test


% same revision checked out in repo a and ua
e8ece76546a6
e8ece76546a6

% testing clone -r stable a ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 3 files
updating to branch stable
3 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has only branch stable
changeset:   13:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   10:a7949464abda
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     test


% branch stable is checked out
changeset:   13:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable


% testing clone -u . -r stable -r default a ua
requesting all changes
adding changesets
adding manifests
adding file changes
added 16 changesets with 16 changes to 3 files (+1 heads)
updating to branch stable
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

% repo ua has two heads
changeset:   15:0aae7cf88f0d
branch:      stable
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     another change for branch stable

changeset:   12:f21241060d6a
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     hacked default


% same revision checked out in repo a and ua
e8ece76546a6
e8ece76546a6