Browse Source
This patch introduces the remove_or_warn function which is a generalised version of the {unlink,rmdir}_or_warn functions. It takes an additional parameter indicating the mode of the file to be removed. The patch also modifies certain functions to use remove_or_warn where appropriate, and adds a test case for a bug fixed by the use of remove_or_warn. Signed-off-by: Peter Collingbourne <peter@pcc.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
Peter Collingbourne
15 years ago
committed by
Junio C Hamano
5 changed files with 51 additions and 15 deletions
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2010 Peter Collingbourne |
||||
# |
||||
|
||||
test_description='git apply submodule tests' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success setup ' |
||||
cat > create-sm.patch <<EOF |
||||
diff --git a/dir/sm b/dir/sm |
||||
new file mode 160000 |
||||
index 0000000..0123456 |
||||
--- /dev/null |
||||
+++ b/dir/sm |
||||
@@ -0,0 +1 @@ |
||||
+Subproject commit 0123456789abcdef0123456789abcdef01234567 |
||||
EOF |
||||
cat > remove-sm.patch <<EOF |
||||
diff --git a/dir/sm b/dir/sm |
||||
deleted file mode 160000 |
||||
index 0123456..0000000 |
||||
--- a/dir/sm |
||||
+++ /dev/null |
||||
@@ -1 +0,0 @@ |
||||
-Subproject commit 0123456789abcdef0123456789abcdef01234567 |
||||
EOF |
||||
' |
||||
|
||||
test_expect_success 'removing a submodule also removes all leading subdirectories' ' |
||||
git apply --index create-sm.patch && |
||||
test -d dir/sm && |
||||
git apply --index remove-sm.patch && |
||||
test \! -d dir |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue