* [PATCH] rebase -i: proper prepare-commit-msg hook argument when squashing
@ 2008-10-03 0:08 SZEDER Gábor
2008-10-03 6:01 ` Jeff King
0 siblings, 1 reply; 3+ messages in thread
From: SZEDER Gábor @ 2008-10-03 0:08 UTC (permalink / raw)
To: git; +Cc: SZEDER Gábor
One would expect that the prepare-commit-msg hook gets 'squash' as the
second argument when squashing commits with 'rebase -i'. However,
that was not the case, as it got 'merge' instead. This patch fixes
the problem.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
git-rebase--interactive.sh | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index edb6ec6..ec4299a 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -304,23 +304,28 @@ do_next () {
mark_action_done
make_squash_message $sha1 > "$MSG"
+ failed=f
+ author_script=$(get_author_ident_from_commit HEAD)
+ output git reset --soft HEAD^
+ pick_one -n $sha1 || failed=t
case "$(peek_next_command)" in
squash|s)
EDIT_COMMIT=
USE_OUTPUT=output
+ MSG_OPT=-F
+ MSG_FILE="$MSG"
cp "$MSG" "$SQUASH_MSG"
;;
*)
EDIT_COMMIT=-e
USE_OUTPUT=
+ MSG_OPT=
+ MSG_FILE=
rm -f "$SQUASH_MSG" || exit
+ cp -v "$MSG" "$GIT_DIR"/SQUASH_MSG
+ rm -f "$GIT_DIR"/MERGE_MSG || exit
;;
esac
-
- failed=f
- author_script=$(get_author_ident_from_commit HEAD)
- output git reset --soft HEAD^
- pick_one -n $sha1 || failed=t
echo "$author_script" > "$DOTEST"/author-script
if test $failed = f
then
@@ -329,7 +334,7 @@ do_next () {
GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \
GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \
GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \
- $USE_OUTPUT git commit --no-verify -F "$MSG" $EDIT_COMMIT || failed=t
+ $USE_OUTPUT git commit --no-verify $MSG_OPT "$MSG_FILE" $EDIT_COMMIT || failed=t
fi
if test $failed = t
then
--
1.6.0.2.430.gfc53
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] rebase -i: proper prepare-commit-msg hook argument when squashing
2008-10-03 0:08 [PATCH] rebase -i: proper prepare-commit-msg hook argument when squashing SZEDER Gábor
@ 2008-10-03 6:01 ` Jeff King
2008-10-03 9:33 ` rebase -i: remove leftover debugging SZEDER Gábor
0 siblings, 1 reply; 3+ messages in thread
From: Jeff King @ 2008-10-03 6:01 UTC (permalink / raw)
To: SZEDER Gábor; +Cc: Shawn O. Pearce, git
On Fri, Oct 03, 2008 at 02:08:21AM +0200, SZEDER Gábor wrote:
> + cp -v "$MSG" "$GIT_DIR"/SQUASH_MSG
Sorry, but "cp -v" is not portable. It's not in POSIX, and this breaks
the script for (at least) Solaris.
However, it's not even clear to me why "-v" is used at all, considering
that the "squash" case above does not use it. Is it a debugging
leftover? Am I missing something?
[Aside: My Solaris 8 autobuilder is now running, which was a huge pain.
However, it is very satisfying to catch things like this in "next"
before they hit a wider audience.]
-Peff
^ permalink raw reply [flat|nested] 3+ messages in thread
* rebase -i: remove leftover debugging
2008-10-03 6:01 ` Jeff King
@ 2008-10-03 9:33 ` SZEDER Gábor
0 siblings, 0 replies; 3+ messages in thread
From: SZEDER Gábor @ 2008-10-03 9:33 UTC (permalink / raw)
To: Jeff King, Shawn O. Pearce; +Cc: git
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
On Fri, Oct 03, 2008 at 02:01:10AM -0400, Jeff King wrote:
> Sorry, but "cp -v" is not portable. It's not in POSIX, and this breaks
> the script for (at least) Solaris.
>
> However, it's not even clear to me why "-v" is used at all, considering
> that the "squash" case above does not use it. Is it a debugging
> leftover? Am I missing something?
Oh, yeah, it's just leftover debugging. Thanks for catching.
git-rebase--interactive.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 77e1132..ec4299a 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -322,7 +322,7 @@ do_next () {
MSG_OPT=
MSG_FILE=
rm -f "$SQUASH_MSG" || exit
- cp -v "$MSG" "$GIT_DIR"/SQUASH_MSG
+ cp "$MSG" "$GIT_DIR"/SQUASH_MSG
rm -f "$GIT_DIR"/MERGE_MSG || exit
;;
esac
--
1.6.0.2.430.gfc53
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-10-03 9:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-03 0:08 [PATCH] rebase -i: proper prepare-commit-msg hook argument when squashing SZEDER Gábor
2008-10-03 6:01 ` Jeff King
2008-10-03 9:33 ` rebase -i: remove leftover debugging SZEDER Gábor
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.