summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2015-08-17 22:45:31 +0000
committerFrank Terbeck <ft@bewatermyfriend.org>2015-08-18 01:00:25 +0200
commit9a369d39e13787c376c57713ab8c14e5c0f4bfb8 (patch)
tree7d6a24383bf06e209c9b92db4ecdfc0d46960a59
parent769c6cbc28eb32bcc2b8eb0bd49a30f015d4ae6b (diff)
downloadzsh-9a369d39e13787c376c57713ab8c14e5c0f4bfb8.tar.gz
zsh-9a369d39e13787c376c57713ab8c14e5c0f4bfb8.zip
36209: vcs_info: avoid grep error message when file is missing
When running git rebase -m and a conflict occurs, the git-rebase-todo file is not present. This leads to an error from grep every time the shell prompt is printed when vcs_info is enabled. Avoid this message by checking if the file exists before trying to grep it.
-rw-r--r--ChangeLog5
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_git4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5ad76a36f..7a84c0a9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-18 brian m. carlson <sandals@crustytoothpaste.net>
+
+ * 36209: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
+ vcs_info: avoid grep error message when file is missing
+
2015-08-17 Daniel Shahaf <d.s@daniel.shahaf.name>
* unposted: Completion/Linux/Command/_sshfs: _sshfs: Fix
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index c348da2a7..3fc861eeb 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -210,7 +210,9 @@ elif [[ -d "${gitdir}/rebase-merge" ]]; then
# remove action
git_patches_applied+=("${${(s: :)p}[2,-1]}")
done
- git_patches_unapplied=(${(f)"$(grep -v '^$' "${patchdir}/git-rebase-todo" | grep -v '^#')"})
+ if [[ -f "${patchdir}/git-rebase-todo" ]] ; then
+ git_patches_unapplied=(${(f)"$(grep -v '^$' "${patchdir}/git-rebase-todo" | grep -v '^#')"})
+ fi
VCS_INFO_git_handle_patches
elif [[ -d "${gitdir}/rebase-apply" ]]; then
# Fake patch names for all but current patch