Skip to content
Snippets Groups Projects
Commit 7aa73806 authored by Bryan O'Sullivan's avatar Bryan O'Sullivan
Browse files

verify: tolerate repeated slashes in a converted repo (issue3665)

These slashes are a hangover from issue3612, fixed in e4da793998bf.

Although the bugfix in that commit is correct, the test it adds
does not replicate the conditions for the bug correctly.
parent 1b51638b
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
from node import nullid, short
from i18n import _
import os
import os, posixpath
import revlog, util, error
def verify(repo):
......@@ -236,7 +236,12 @@
try:
storefiles.remove(ff)
except KeyError:
err(lr, _("missing revlog!"), ff)
# under hg < 2.4, convert didn't sanitize paths properly,
# so a converted repo may contain repeated slashes
try:
storefiles.remove(posixpath.normpath(ff))
except KeyError:
err(lr, _("missing revlog!"), ff)
checklog(fl, f, lr)
seen = {}
......
......@@ -226,6 +226,9 @@
9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
$ hg --cwd foo-copied.repo debugrename copied
copied renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
ensure that the filemap contains duplicated slashes (issue3612)
$ cat > renames.fmap <<EOF
> include dir
> exclude dir/file2
......@@ -229,7 +232,7 @@
$ cat > renames.fmap <<EOF
> include dir
> exclude dir/file2
> rename dir dir2
> rename dir dir2//dir3
> include foo
> include copied
> rename foo foo2
......@@ -255,5 +258,5 @@
|
o 1 "1: add bar quux; copy foo to copied" files: copied2
|
o 0 "0: add foo baz dir/" files: dir2/file dir2/subdir/file3 foo2
o 0 "0: add foo baz dir/" files: dir2//dir3/file dir2//dir3/subdir/file3 foo2
......@@ -259,3 +262,10 @@
$ hg -R renames.repo verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 5 changesets, 7 total revisions
$ hg -R renames.repo manifest --debug
d43feacba7a4f1f2080dde4a4b985bd8a0236d46 644 copied2
......@@ -260,7 +270,7 @@
$ hg -R renames.repo manifest --debug
d43feacba7a4f1f2080dde4a4b985bd8a0236d46 644 copied2
3e20847584beff41d7cd16136b7331ab3d754be0 644 dir2/file
5fe139720576e18e34bcc9f79174db8897c8afe9 644 dir2/subdir/file3
3e20847584beff41d7cd16136b7331ab3d754be0 644 dir2//dir3/file
5fe139720576e18e34bcc9f79174db8897c8afe9 644 dir2//dir3/subdir/file3
9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo2
$ hg --cwd renames.repo debugrename copied2
copied2 renamed from foo2:2ed2a3912a0b24502043eae84ee4b279c18b90dd
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment