zsh-workers
 help / color / mirror / code / Atom feed
From: Frank Terbeck <ft@bewatermyfriend.org>
To: zsh-workers@zsh.org
Subject: [PATCH] vcs_info: Silence an error message with new git versions
Date: Sun, 11 Oct 2015 11:54:06 +0200	[thread overview]
Message-ID: <1444557246-1233-1-git-send-email-ft@bewatermyfriend.org> (raw)

Mikael informs me on IRC, that in new versions of git (he used 2.6.1)
where the "am" subcommand is now a builtin, a file that is used by the
git backend of vcs_info (namely .git/rebase-apply/msg-clean) is not
available anymore, leading to an annoying error message:

  VCS_INFO_get_data_git:232: no such file or directory: .git/rebase-apply/msg-clean

This patch checks for the availabiliy of the file before using it,
and adjusts the value of the dependant values accordingly.
---
 Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 34 +++++++++++++++--------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
index 8ecc7c7..dcff616 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
@@ -219,18 +219,28 @@ elif [[ -d "${gitdir}/rebase-apply" ]]; then
     patchdir="${gitdir}/rebase-apply"
     local next="${patchdir}/next"
     if [[ -f $next ]]; then
-	local cur=$(< $next)
-	local p subject
-	for p in $(seq $(($cur - 1))); do
-	    git_patches_applied+=("$(printf "%04d" $p) ?")
-	done
-	subject="${$(< "${patchdir}/msg-clean")[(f)1]}"
-	if [[ -f "${patchdir}/original-commit" ]]; then
-	    git_patches_applied+=("$(< ${patchdir}/original-commit) $subject")
-	else
-	    git_patches_applied+=("? $subject")
-	fi
-	git_patches_unapplied=($(seq $cur $(< "${patchdir}/last")))
+        local cur=$(< $next)
+        local p subject
+        for p in $(seq $(($cur - 1))); do
+            git_patches_applied+=("$(printf "%04d" $p) ?")
+        done
+        if [[ -f "${patchdir}/msg-clean" ]]; then
+            subject="${$(< "${patchdir}/msg-clean")[(f)1]}"
+        fi
+        if [[ -f "${patchdir}/original-commit" ]]; then
+            if [[ -n $subject ]]; then
+                git_patches_applied+=("$(< ${patchdir}/original-commit) $subject")
+            else
+                git_patches_applied+=("$(< ${patchdir}/original-commit)")
+            fi
+        else
+            if [[ -n $subject ]]; then
+                git_patches_applied+=("? $subject")
+            else
+                git_patches_applied+=("?")
+            fi
+        fi
+        git_patches_unapplied=($(seq $cur $(< "${patchdir}/last")))
     fi
 
     VCS_INFO_git_handle_patches
-- 
2.1.4


             reply	other threads:[~2015-10-11 10:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-11  9:54 Frank Terbeck [this message]
2015-10-11 10:25 ` Frank Terbeck
2015-10-14 12:26   ` Roman Neuhauser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1444557246-1233-1-git-send-email-ft@bewatermyfriend.org \
    --to=ft@bewatermyfriend.org \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).