[Pkg-zsh-devel] Bug#780852: Patch to fix vcs-info with git rebase -m

brian m. carlson sandals at crustytoothpaste.net
Fri Mar 20 16:37:29 UTC 2015


tags 780582 + patch
kthxbye

This is the minimal patch required to get things working with the git in
both jessie and sid.  It doesn't actually make the feature work in
either case, but considering it's a relatively new feature which doesn't
work at the moment, I consider that acceptable.  You may want to work
with upstream to get a better solution that makes it work with newer
git.

One patch is a cherry-pick from the zsh repository, and the other I
wrote myself.  I've tested it and it works.
-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
-------------- next part --------------
commit 04f187a7bf222c4340975493426a75c02b396991
Author: brian m. carlson <sandals at crustytoothpaste.net>
Date:   Fri Mar 20 16:19:50 2015 +0000

    patches

diff --git a/debian/patches/avoid-grep-warning-with-git-rebase-merge b/debian/patches/avoid-grep-warning-with-git-rebase-merge
new file mode 100644
index 0000000..212d218
--- /dev/null
+++ b/debian/patches/avoid-grep-warning-with-git-rebase-merge
@@ -0,0 +1,18 @@
+Description: Avoid warning with git rebase --merge
+ Newer versions of git store data differently in the rebase-merge
+ directory.  Avoid warning about nonexistent files when running
+ vcs_info.
+Author: Axel Beckert <abe at debian.org>
+Bug-Debian: https://bugs.debian.org/780852
+
+--- zsh-5.0.7.orig/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
++++ zsh-5.0.7/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+@@ -210,7 +210,7 @@ elif [[ -d "${gitdir}/rebase-merge" ]];
+         # remove action
+         git_patches_applied+=("${${(s: :)p}[2,-1]}")
+     done
+-    git_patches_unapplied=(${(f)"$(grep -v '^$' "${patchdir}/git-rebase-todo" | grep -v '^#')"})
++    git_patches_unapplied=(${(f)"$(grep -v '^$' "${patchdir}/git-rebase-todo" 2>/dev/null | grep -v '^#')"})
+     VCS_INFO_git_handle_patches
+ elif [[ -d "${gitdir}/rebase-apply" ]]; then
+     # Fake patch names for all but current patch
diff --git a/debian/patches/cherry-pick-57be7b74-34673-fix-error-when-rebase-hasnt-started b/debian/patches/cherry-pick-57be7b74-34673-fix-error-when-rebase-hasnt-started
new file mode 100644
index 0000000..1d030fa
--- /dev/null
+++ b/debian/patches/cherry-pick-57be7b74-34673-fix-error-when-rebase-hasnt-started
@@ -0,0 +1,16 @@
+Description: fix error when rebase hasn't started
+ When using git rebase --merge either with newer git versions or when
+ the rebase hasn't started, the done file inside the rebase directory
+ may not exist.  Avoid an error in this case.
+Bug-Debian: https://bugs.debian.org/780852
+
+--- zsh-5.0.7.orig/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
++++ zsh-5.0.7/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
+@@ -205,6 +205,7 @@ then
+ elif [[ -d "${gitdir}/rebase-merge" ]]; then
+     patchdir="${gitdir}/rebase-merge"
+     local p
++    [[ -f "${patchdir}/done" ]] &&
+     for p in ${(f)"$(< "${patchdir}/done")"}; do
+         # remove action
+         git_patches_applied+=("${${(s: :)p}[2,-1]}")
diff --git a/debian/patches/series b/debian/patches/series
index af374d2..993c898 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,5 @@ cherry-pick-605a73e4-33429-disallow-non-integer-values-for-histsize-and-savehist
 cherry-pick-521313b4-tests-for-workers-33429.patch
 cherry-pick-2d14c085-33445-fix-handling-of-s-when-combined-with-i-at-shell-invocation.patch
 further-mitigate-test-suite-hangs.patch
+cherry-pick-57be7b74-34673-fix-error-when-rebase-hasnt-started
+avoid-grep-warning-with-git-rebase-merge
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-zsh-devel/attachments/20150320/0c1eabb6/attachment.sig>


More information about the Pkg-zsh-devel mailing list