Merge branch 'jl/submodule-deinit'
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 Apr 2013 21:15:13 +0000 (14:15 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Apr 2013 21:15:13 +0000 (14:15 -0700)
A finishing touch to the new topic in 1.8.3.

* jl/submodule-deinit:
submodule deinit: clarify work tree removal message

git-submodule.sh
t/t7400-submodule-basic.sh
index 275c664ff55f2d669ad302f0b11d8629b2d7d1ec..79bfaac9d4cb9a04e5e1fd7675d740cf9fc27e87 100755 (executable)
@@ -606,10 +606,12 @@ cmd_deinit()
 
                        if test -z "$force"
                        then
-                               git rm -n "$sm_path" ||
+                               git rm -qn "$sm_path" ||
                                die "$(eval_gettext "Submodule work tree '\$sm_path' contains local modifications; use '-f' to discard them")"
                        fi
-                       rm -rf "$sm_path" || say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
+                       rm -rf "$sm_path" &&
+                       say "$(eval_gettext "Cleared directory '\$sm_path'")" ||
+                       say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
                fi
 
                mkdir "$sm_path" || say "$(eval_gettext "Could not create empty submodule directory '\$sm_path'")"
index 5030f1f1bcc2442482ca923d03454fbc69f1a7ca..ff265353a375d02bb578fed29ea00f07dc08a6fc 100755 (executable)
@@ -777,18 +777,22 @@ test_expect_success 'submodule deinit . deinits all initialized submodules' '
        git config submodule.example.foo bar &&
        git config submodule.example2.frotz nitfol &&
        test_must_fail git submodule deinit &&
-       git submodule deinit . &&
+       git submodule deinit . >actual &&
        test -z "$(git config --get-regexp "submodule\.example\.")" &&
        test -z "$(git config --get-regexp "submodule\.example2\.")" &&
+       test_i18ngrep "Cleared directory .init" actual &&
+       test_i18ngrep "Cleared directory .example2" actual &&
        rmdir init example2
 '
 
 test_expect_success 'submodule deinit deinits a submodule when its work tree is missing or empty' '
        git submodule update --init &&
        rm -rf init example2/* example2/.git &&
-       git submodule deinit init example2 &&
+       git submodule deinit init example2 >actual &&
        test -z "$(git config --get-regexp "submodule\.example\.")" &&
        test -z "$(git config --get-regexp "submodule\.example2\.")" &&
+       test_i18ngrep ! "Cleared directory .init" actual &&
+       test_i18ngrep "Cleared directory .example2" actual &&
        rmdir init
 '
 
@@ -798,8 +802,9 @@ test_expect_success 'submodule deinit fails when the submodule contains modifica
        test_must_fail git submodule deinit init &&
        test -n "$(git config --get-regexp "submodule\.example\.")" &&
        test -f example2/.git &&
-       git submodule deinit -f init &&
+       git submodule deinit -f init >actual &&
        test -z "$(git config --get-regexp "submodule\.example\.")" &&
+       test_i18ngrep "Cleared directory .init" actual &&
        rmdir init
 '
 
@@ -809,8 +814,9 @@ test_expect_success 'submodule deinit fails when the submodule contains untracke
        test_must_fail git submodule deinit init &&
        test -n "$(git config --get-regexp "submodule\.example\.")" &&
        test -f example2/.git &&
-       git submodule deinit -f init &&
+       git submodule deinit -f init >actual &&
        test -z "$(git config --get-regexp "submodule\.example\.")" &&
+       test_i18ngrep "Cleared directory .init" actual &&
        rmdir init
 '
 
@@ -823,8 +829,9 @@ test_expect_success 'submodule deinit fails when the submodule HEAD does not mat
        test_must_fail git submodule deinit init &&
        test -n "$(git config --get-regexp "submodule\.example\.")" &&
        test -f example2/.git &&
-       git submodule deinit -f init &&
+       git submodule deinit -f init >actual &&
        test -z "$(git config --get-regexp "submodule\.example\.")" &&
+       test_i18ngrep "Cleared directory .init" actual &&
        rmdir init
 '
 
@@ -832,14 +839,18 @@ test_expect_success 'submodule deinit is silent when used on an uninitialized su
        git submodule update --init &&
        git submodule deinit init >actual &&
        test_i18ngrep "Submodule .example. (.*) unregistered for path .init" actual &&
+       test_i18ngrep "Cleared directory .init" actual &&
        git submodule deinit init >actual &&
        test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
+       test_i18ngrep "Cleared directory .init" actual &&
        git submodule deinit . >actual &&
        test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
        test_i18ngrep "Submodule .example2. (.*) unregistered for path .example2" actual &&
+       test_i18ngrep "Cleared directory .init" actual &&
        git submodule deinit . >actual &&
        test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
        test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&
+       test_i18ngrep "Cleared directory .init" actual &&
        rmdir init example2
 '