[PATCH] tests: handle deleted .hg directory (git 2.2.0 and higher) (issue4585)

mathias.demare at gmail.com mathias.demare at gmail.com
Thu Apr 2 06:26:49 UTC 2015


# HG changeset patch
# User Mathias De Maré <mathias.demare at gmail.com>
# Date 1427955513 -7200
#      Thu Apr 02 08:18:33 2015 +0200
# Node ID 85219d6ece678fdc82f49006aeda26e6e21ed220
# Parent  37a2b446985f2ef77b9690a0548c8630828b7412
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

diff -r 37a2b446985f -r 85219d6ece67 tests/test-subrepo-git.t
--- 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


More information about the Mercurial-devel mailing list