We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 11a1a49 + 3fc0d13 commit cb16bccCopy full SHA for cb16bcc
2 files changed
dir.c
@@ -933,7 +933,7 @@ int remove_path(const char *name)
933
slash = dirs + (slash - name);
934
do {
935
*slash = '\0';
936
- } while (rmdir(dirs) && (slash = strrchr(dirs, '/')));
+ } while (rmdir(dirs) == 0 && (slash = strrchr(dirs, '/')));
937
free(dirs);
938
}
939
return 0;
t/t3600-rm.sh
@@ -271,4 +271,12 @@ test_expect_success 'choking "git rm" should not let it die with cruft' '
271
test "$status" != 0
272
'
273
274
+test_expect_success 'rm removes subdirectories recursively' '
275
+ mkdir -p dir/subdir/subsubdir &&
276
+ echo content >dir/subdir/subsubdir/file &&
277
+ git add dir/subdir/subsubdir/file &&
278
+ git rm -f dir/subdir/subsubdir/file &&
279
+ ! test -d dir
280
+'
281
+
282
test_done
0 commit comments