view tests/test-verify.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 b33d70849a20
children 581066a319e5
line wrap: on
line source

% prepare repo
adding FOO.txt
adding QUICK.txt
adding bar.txt

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 1 changesets, 3 total revisions

% verify with journal
abandoned transaction found - run hg recover
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 1 changesets, 3 total revisions

% introduce some bugs in repo

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 data/FOO.txt.i@0: missing revlog!
 0: empty or missing FOO.txt
 FOO.txt@0: f62022d3d590 in manifests not found
 data/QUICK.txt.i@0: missing revlog!
 0: empty or missing QUICK.txt
 QUICK.txt@0: 88b857db8eba in manifests not found
 data/bar.txt.i@0: missing revlog!
 0: empty or missing bar.txt
 bar.txt@0: 256559129457 in manifests not found
3 files, 1 changesets, 0 total revisions
9 integrity errors encountered!
(first damaged changeset appears to be 0)
% test revlog corruption

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 a@0: broken revlog! (index data/a.i is corrupted)
warning: orphan revlog 'data/a.i'
1 files, 1 changesets, 0 total revisions
1 warnings encountered!
1 integrity errors encountered!
(first damaged changeset appears to be 0)