##// END OF EJS Templates
localrepo: use the path relative to "self.vfs" instead of "path" argument...
localrepo: use the path relative to "self.vfs" instead of "path" argument As a part of migration to vfs, this patch uses "self.root", which can be recognized as the path relative to "self.vfs", instead of "path" argument. This fix allows to make invocations of "util.makedirs()" and "os.path.exists()" while ensuring repository directory in "localrepository.__init__()" ones indirectly via vfs. But this fix also raises issue 2528: "hg clone" with empty destination. "path" argument is empty in many cases, so this issue can't be fixed in the view of "localrepository.__init__()". Before this patch, it is fixed by empty-ness check ("not name") of exception handler in "util.makedirs()". try: os.mkdir(name) except OSError, err: if err.errno == errno.EEXIST: return if err.errno != errno.ENOENT or not name: raise This requires "localrepository.__init__()" to invoke "util.makedirs()" with "path" instead of "self.root", because empty "path" is treated as "current directory" and "self.root" becomes valid path. But "hg clone" with empty destination can be detected also in "hg.clone()" before "localrepository.__init__()" invocation, so this patch re-fixes issue2528 by checking it in "hg.clone()".

File last commit:

r17017:953faba2 default
r17159:36a30168 default
Show More
test-hgwebdirsym.t
80 lines | 1.7 KiB | text/troff | Tads3Lexer
/ tests / test-hgwebdirsym.t
Matt Mackall
tests: unify test-hgwebdirsym
r12444 Tests whether or not hgwebdir properly handles various symlink topologies.
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446 $ "$TESTDIR/hghave" serve symlink || exit 80
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015
hide outer repo
$ hg init
Matt Mackall
tests: unify test-hgwebdirsym
r12444 $ hg init a
$ echo a > a/a
$ hg --cwd a ci -Ama -d'1 0'
adding a
$ mkdir webdir
$ cd webdir
$ hg init b
$ echo b > b/b
$ hg --cwd b ci -Amb -d'2 0'
adding b
$ hg init c
$ echo c > c/c
$ hg --cwd c ci -Amc -d'3 0'
adding c
$ ln -s ../a al
$ ln -s ../webdir circle
$ root=`pwd`
$ cd ..
$ cat > collections.conf <<EOF
> [collections]
> $root=$root
> EOF
$ hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \
> -A access-collections.log -E error-collections.log
$ cat hg.pid >> $DAEMON_PIDS
should succeed
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 200 Script output follows
/al/
/b/
/c/
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'al/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 200 Script output follows
a
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'b/file/tip/b?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 200 Script output follows
b
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'c/file/tip/c?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 200 Script output follows
c
should fail
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'circle/al/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 404 Not Found
Wagner Bruna
hgwebdir: fix incorrect index generation for invalid paths (issue2023)...
r13066 error: repository circle/al/file/tip/a not found
Matt Mackall
tests: unify test-hgwebdirsym
r12444 [1]
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'circle/b/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 404 Not Found
Wagner Bruna
hgwebdir: fix incorrect index generation for invalid paths (issue2023)...
r13066 error: repository circle/b/file/tip/a not found
Matt Mackall
tests: unify test-hgwebdirsym
r12444 [1]
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'circle/c/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdirsym
r12444 404 Not Found
Wagner Bruna
hgwebdir: fix incorrect index generation for invalid paths (issue2023)...
r13066 error: repository circle/c/file/tip/a not found
Matt Mackall
tests: unify test-hgwebdirsym
r12444 [1]
collections errors
$ cat error-collections.log