Skip to content
Snippets Groups Projects
Commit ffbf742b authored by Yuya Nishihara's avatar Yuya Nishihara
Browse files

subrepo: add test for Windows relative-ish path with drive letter

Matt Harbison pointed out that Windows had some weird path syntax.
Fortunately it's rejected appropriately by pathauditor, so we're safe.
Let's test the behavior as we have a special handling for Windows drive
letters.

This patch includes a basic example. Maybe we'll need to extend the test
case further, but writing such tests on Linux isn't easy.
parent f2f53872
No related branches found
No related tags found
No related merge requests found
......@@ -660,3 +660,44 @@
$ cd ..
#endif
Test drive letter
-----------------
Windows has a weird relative path that can change the drive letter, which
should also be prohibited on Windows.
prepare tampered repo:
$ hg init driveletter
$ cd driveletter
$ hg import --bypass -qm 'add subrepo "X:"' - <<'EOF'
> diff --git a/.hgsub b/.hgsub
> new file mode 100644
> --- /dev/null
> +++ b/.hgsub
> @@ -0,0 +1,1 @@
> +X: = foo
> diff --git a/.hgsubstate b/.hgsubstate
> new file mode 100644
> --- /dev/null
> +++ b/.hgsubstate
> @@ -0,0 +1,1 @@
> +0000000000000000000000000000000000000000 X:
> EOF
$ cd ..
on clone (and update):
#if windows
$ hg clone -q driveletter driveletter2
abort: path contains illegal component: X:
#else
$ hg clone -q driveletter driveletter2
$ ls driveletter2
X:
#endif
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