opener: force copy on 'a'ppend if nlinks() returns 0 (
issue1922)
If pywin32 is not installed, 'os.lstat(pathname).st_nlink' is used for
nlinks(), which is always zero for all files on Windows.
To make sure we break up hardlinks if pywin32 is missing, we force
nlink = 2 if nlinks() returns < 1.
(this completely fixes
issue1922)
$ hg init outer
$ cd outer
hg debugsub with no remapping
$ echo 'sub = http://example.net/libfoo' > .hgsub
$ hg add .hgsub
$ hg debugsub
path sub
source http://example.net/libfoo
revision
hg debugsub with remapping
$ echo '[subpaths]' > .hg/hgrc
$ printf 'http://example.net/lib(.*) = C:\\libs\\\\1-lib\\\n' >> .hg/hgrc
$ hg debugsub
path sub
source C:\libs\foo-lib\
revision
test bad subpaths pattern
$ cat > .hg/hgrc <<EOF
> [subpaths]
> .* = \1
> EOF
$ hg debugsub
abort: bad subrepository pattern in $TESTTMP/outer/.hg/hgrc:2: invalid group reference
[255]