summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorprlw1 <prlw1@pkgsrc.org>2013-09-16 10:48:04 +0000
committerprlw1 <prlw1@pkgsrc.org>2013-09-16 10:48:04 +0000
commit4b971a2e7981a5a7e5646381f43ebadc6f4899e0 (patch)
tree1103866641dbbe941e5a2e1001b3f5835b335406 /devel
parent55faecc79e4a96933d81af2a20f8b86ffdf18a7b (diff)
downloadpkgsrc-4b971a2e7981a5a7e5646381f43ebadc6f4899e0.tar.gz
Apply fix for rebase from Matthieu Moy in
https://github.com/git/git/commit/99855dd Reported Sergey Svishchev.
Diffstat (limited to 'devel')
-rw-r--r--devel/git-base/Makefile3
-rw-r--r--devel/git-base/distinfo3
-rw-r--r--devel/git-base/patches/patch-git-rebase.sh41
3 files changed, 45 insertions, 2 deletions
diff --git a/devel/git-base/Makefile b/devel/git-base/Makefile
index 1a5f2c52acf..d521905d6bf 100644
--- a/devel/git-base/Makefile
+++ b/devel/git-base/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.3 2013/09/11 01:26:00 obache Exp $
+# $NetBSD: Makefile,v 1.4 2013/09/16 10:48:04 prlw1 Exp $
.include "../../devel/git/Makefile.common"
PKGNAME= git-base-${GIT_VERSION}
+PKGREVISION= 1
COMMENT= GIT Tree History Storage Tool (base package)
CONFLICTS+= scmgit-base-[0-9]*
diff --git a/devel/git-base/distinfo b/devel/git-base/distinfo
index ffb60812aee..741b78427b0 100644
--- a/devel/git-base/distinfo
+++ b/devel/git-base/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2013/09/09 13:54:44 wiz Exp $
+$NetBSD: distinfo,v 1.2 2013/09/16 10:48:04 prlw1 Exp $
SHA1 (git-1.8.4.tar.gz) = 2a361a2d185b8bc604f7f2ce2f502d0dea9d3279
RMD160 (git-1.8.4.tar.gz) = 546720ff4234e0aec4867a81c7fba3130ccae397
@@ -11,4 +11,5 @@ SHA1 (patch-ag) = 4f0b9a5745203ea7ef369c8272b3ea7c644762f0
SHA1 (patch-ah) = f22a2160631fb624e9e20616c68ad1a4aa2bebc7
SHA1 (patch-ai) = 56b63d4790a11f5eb128186ad5efdd1bcf102f2e
SHA1 (patch-config.mak.uname) = e7fa7a91d4d9dd6793d752b1833f97fcaea236b1
+SHA1 (patch-git-rebase.sh) = a3f79687011ff82766925893a03526d925218f5d
SHA1 (patch-wrapper.c) = d8252c63cca9a134fca3f8f6f28663f563c7b4bc
diff --git a/devel/git-base/patches/patch-git-rebase.sh b/devel/git-base/patches/patch-git-rebase.sh
new file mode 100644
index 00000000000..1ca683b6db4
--- /dev/null
+++ b/devel/git-base/patches/patch-git-rebase.sh
@@ -0,0 +1,41 @@
+$NetBSD: patch-git-rebase.sh,v 1.1 2013/09/16 10:48:05 prlw1 Exp $
+
+Rebase: fix run_specific_rebase's use of "return" on FreeBSD
+
+Since a1549e1, git-rebase--am.sh uses the shell's "return" statement, to
+mean "return from the current file inclusion", which is POSIXly correct,
+but badly interpreted on FreeBSD, which returns from the current
+function, hence skips the finish_rebase statement that follows the file
+inclusion.
+
+Make the use of "return" portable by using the file inclusion as the last
+statement of a function.
+
+https://github.com/git/git/commit/99855dd
+
+--- git-rebase.sh.orig 2013-08-23 19:38:43.000000000 +0000
++++ git-rebase.sh
+@@ -167,13 +167,22 @@ You can run "git stash pop" or "git stas
+ rm -rf "$state_dir"
+ }
+
+-run_specific_rebase () {
++run_specific_rebase_internal () {
+ if [ "$interactive_rebase" = implied ]; then
+ GIT_EDITOR=:
+ export GIT_EDITOR
+ autosquash=
+ fi
++ # On FreeBSD, the shell's "return" returns from the current
++ # function, not from the current file inclusion.
++ # run_specific_rebase_internal has the file inclusion as a
++ # last statement, so POSIX and FreeBSD's return will do the
++ # same thing.
+ . git-rebase--$type
++}
++
++run_specific_rebase () {
++ run_specific_rebase_internal
+ ret=$?
+ if test $ret -eq 0
+ then