tests: handle deleted .hg directory (git 2.2.0 and higher) (
issue4585)
In git 2.2.0 and higher, removing files and directories is changed:
removing an object that does not exist returns success rather than failure.
As a result, even though .hg/hgrc does not exist, success is returned
and the .hg/ directory is removed.
To handle this correctly, use 'rm -rf' to allow successful removing
for all git versions.
The exact changeset where this was introduced in git:
1054af7d04aef64378d69a0496b45cdbf6a0bef2
wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
--- a/tests/test-subrepo-git.t Wed Apr 01 20:38:36 2015 -0500
+++ b/tests/test-subrepo-git.t Thu Apr 02 08:18:33 2015 +0200
@@ -1002,7 +1002,7 @@
$ cd s
$ rm snake.python
(remove leftover .hg so Mercurial doesn't look for a root here)
- $ rm -r .hg
+ $ rm -rf .hg
$ hg status --subrepos --all .
R snake.python
? barfoo