Skip to content

Commit 7b72ec5

Browse files
committed
Merge branch 'jl/submodule-deinit'
A finishing touch to the new topic in 1.8.3. * jl/submodule-deinit: submodule deinit: clarify work tree removal message
2 parents cb66027 + 7b294bf commit 7b72ec5

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

git-submodule.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,10 +606,12 @@ cmd_deinit()
606606

607607
if test -z "$force"
608608
then
609-
git rm -n "$sm_path" ||
609+
git rm -qn "$sm_path" ||
610610
die "$(eval_gettext "Submodule work tree '\$sm_path' contains local modifications; use '-f' to discard them")"
611611
fi
612-
rm -rf "$sm_path" || say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
612+
rm -rf "$sm_path" &&
613+
say "$(eval_gettext "Cleared directory '\$sm_path'")" ||
614+
say "$(eval_gettext "Could not remove submodule work tree '\$sm_path'")"
613615
fi
614616

615617
mkdir "$sm_path" || say "$(eval_gettext "Could not create empty submodule directory '\$sm_path'")"

t/t7400-submodule-basic.sh

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -777,18 +777,22 @@ test_expect_success 'submodule deinit . deinits all initialized submodules' '
777777
git config submodule.example.foo bar &&
778778
git config submodule.example2.frotz nitfol &&
779779
test_must_fail git submodule deinit &&
780-
git submodule deinit . &&
780+
git submodule deinit . >actual &&
781781
test -z "$(git config --get-regexp "submodule\.example\.")" &&
782782
test -z "$(git config --get-regexp "submodule\.example2\.")" &&
783+
test_i18ngrep "Cleared directory .init" actual &&
784+
test_i18ngrep "Cleared directory .example2" actual &&
783785
rmdir init example2
784786
'
785787

786788
test_expect_success 'submodule deinit deinits a submodule when its work tree is missing or empty' '
787789
git submodule update --init &&
788790
rm -rf init example2/* example2/.git &&
789-
git submodule deinit init example2 &&
791+
git submodule deinit init example2 >actual &&
790792
test -z "$(git config --get-regexp "submodule\.example\.")" &&
791793
test -z "$(git config --get-regexp "submodule\.example2\.")" &&
794+
test_i18ngrep ! "Cleared directory .init" actual &&
795+
test_i18ngrep "Cleared directory .example2" actual &&
792796
rmdir init
793797
'
794798

@@ -798,8 +802,9 @@ test_expect_success 'submodule deinit fails when the submodule contains modifica
798802
test_must_fail git submodule deinit init &&
799803
test -n "$(git config --get-regexp "submodule\.example\.")" &&
800804
test -f example2/.git &&
801-
git submodule deinit -f init &&
805+
git submodule deinit -f init >actual &&
802806
test -z "$(git config --get-regexp "submodule\.example\.")" &&
807+
test_i18ngrep "Cleared directory .init" actual &&
803808
rmdir init
804809
'
805810

@@ -809,8 +814,9 @@ test_expect_success 'submodule deinit fails when the submodule contains untracke
809814
test_must_fail git submodule deinit init &&
810815
test -n "$(git config --get-regexp "submodule\.example\.")" &&
811816
test -f example2/.git &&
812-
git submodule deinit -f init &&
817+
git submodule deinit -f init >actual &&
813818
test -z "$(git config --get-regexp "submodule\.example\.")" &&
819+
test_i18ngrep "Cleared directory .init" actual &&
814820
rmdir init
815821
'
816822

@@ -823,23 +829,28 @@ test_expect_success 'submodule deinit fails when the submodule HEAD does not mat
823829
test_must_fail git submodule deinit init &&
824830
test -n "$(git config --get-regexp "submodule\.example\.")" &&
825831
test -f example2/.git &&
826-
git submodule deinit -f init &&
832+
git submodule deinit -f init >actual &&
827833
test -z "$(git config --get-regexp "submodule\.example\.")" &&
834+
test_i18ngrep "Cleared directory .init" actual &&
828835
rmdir init
829836
'
830837

831838
test_expect_success 'submodule deinit is silent when used on an uninitialized submodule' '
832839
git submodule update --init &&
833840
git submodule deinit init >actual &&
834841
test_i18ngrep "Submodule .example. (.*) unregistered for path .init" actual &&
842+
test_i18ngrep "Cleared directory .init" actual &&
835843
git submodule deinit init >actual &&
836844
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
845+
test_i18ngrep "Cleared directory .init" actual &&
837846
git submodule deinit . >actual &&
838847
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
839848
test_i18ngrep "Submodule .example2. (.*) unregistered for path .example2" actual &&
849+
test_i18ngrep "Cleared directory .init" actual &&
840850
git submodule deinit . >actual &&
841851
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
842852
test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&
853+
test_i18ngrep "Cleared directory .init" actual &&
843854
rmdir init example2
844855
'
845856

0 commit comments

Comments
 (0)