Merge branch 'dt/submodule-rm-with-stale-cache'

Running "git rm" on a submodule failed unnecessarily when
.gitmodules is only cache-dirty, which has been corrected.

* dt/submodule-rm-with-stale-cache:
  git rm submodule: succeed if .gitmodules index stat info is zero
This commit is contained in:
Junio C Hamano 2020-02-12 12:41:35 -08:00
Родитель 3f7553acf5 7edee32985
Коммит a74c387495
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -82,7 +82,7 @@ int is_staging_gitmodules_ok(struct index_state *istate)
if ((pos >= 0) && (pos < istate->cache_nr)) {
struct stat st;
if (lstat(GITMODULES_FILE, &st) == 0 &&
ie_match_stat(istate, istate->cache[pos], &st, 0) & DATA_CHANGED)
ie_modified(istate, istate->cache[pos], &st, 0) & DATA_CHANGED)
return 0;
}

Просмотреть файл

@ -425,6 +425,13 @@ test_expect_success 'rm will error out on a modified .gitmodules file unless sta
git status -s -uno >actual &&
test_cmp expect actual
'
test_expect_success 'rm will not error out on .gitmodules file with zero stat data' '
git reset --hard &&
git submodule update &&
git read-tree HEAD &&
git rm submod &&
test_path_is_missing submod
'
test_expect_success 'rm issues a warning when section is not found in .gitmodules' '
git reset --hard &&