diff options
author | Daniel Hahler <dhahler@gmail.com> | 2014-09-22 16:37:23 +0200 |
---|---|---|
committer | Frank Terbeck <ft@bewatermyfriend.org> | 2014-09-22 23:23:03 +0200 |
commit | 64e2b4426e72e0359cd4c621ab2e2f521050e620 (patch) | |
tree | d5d9fa2919aa8dae46393027ab4faeecc938b062 /Functions/VCS_Info | |
parent | 7c6e267da47cc8f65440517d755b3a9509740b63 (diff) | |
download | zsh-64e2b4426e72e0359cd4c621ab2e2f521050e620.tar.gz zsh-64e2b4426e72e0359cd4c621ab2e2f521050e620.tar.xz zsh-64e2b4426e72e0359cd4c621ab2e2f521050e620.zip |
33217: vcs_info: use `--ignore-submodules=dirty` with diff/diff-index
This will detect changes to submodules from the superproject's perspective, e.g. after `git rm submodule`. >From GIT-DIFF-INDEX(1)/GIT-DIFF(1): Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior until 1.7.0).
Diffstat (limited to 'Functions/VCS_Info')
-rw-r--r-- | Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git index c243bf7ba..ee50be6ca 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git @@ -176,17 +176,17 @@ if (( querystaged || queryunstaged )) && \ [[ "$(${vcs_comm[cmd]} rev-parse --is-inside-work-tree 2> /dev/null)" == 'true' ]] ; then # Default: off - these are potentially expensive on big repositories if (( queryunstaged )) ; then - ${vcs_comm[cmd]} diff --no-ext-diff --ignore-submodules --quiet --exit-code || + ${vcs_comm[cmd]} diff --no-ext-diff --ignore-submodules=dirty --quiet --exit-code || gitunstaged=1 fi if (( querystaged )) ; then if ${vcs_comm[cmd]} rev-parse --quiet --verify HEAD &> /dev/null ; then - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules HEAD 2> /dev/null + ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty HEAD 2> /dev/null (( $? && $? != 128 )) && gitstaged=1 else # empty repository (no commits yet) # 4b825dc642cb6eb9a060e54bf8d69288fbee4904 is the git empty tree. - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules 4b825dc642cb6eb9a060e54bf8d69288fbee4904 2>/dev/null + ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty 4b825dc642cb6eb9a060e54bf8d69288fbee4904 2>/dev/null (( $? && $? != 128 )) && gitstaged=1 fi fi |