From: Stephan Beyer <s-beyer@gmx.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, Daniel Barkalow <barkalow@iabervon.org>,
Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [RFC/PATCH 1/4] Add git-sequencer shell prototype
Date: Fri, 4 Jul 2008 03:53:26 +0200 [thread overview]
Message-ID: <20080704015326.GI6677@leksak.fem-net> (raw)
In-Reply-To: <alpine.DEB.1.00.0807040252490.2849@eeepc-johanness>
Hi,
On Fri, Jul 04, 2008 at 03:03:37AM +0200, Johannes Schindelin wrote:
> On Fri, 4 Jul 2008, Stephan Beyer wrote:
> > On Fri, Jul 04, 2008 at 01:53:21AM +0200, Johannes Schindelin wrote:
> > > On Thu, 3 Jul 2008, Stephan Beyer wrote:
> > > > Btw, another root commit problem is btw that it's not possible to
> > > > cherry-pick root commits.
> > >
> > > That is a problem to be fixed in cherry-pick, not in sequencer. Care
> > > to take care of that?
> >
> > Not at the moment but that's one of the things I note down for later ;-)
>
> Well, logically, it should come _before_ you use it in sequencer. And you
> should use it in sequencer.
Yet nobody seems to have asked for a cherry-pick that is able to pick
root commits and sequencer is not closed source after GSoC, so this can
be added whenever there is need and time for it.
That's what I wanted to say with "note down for later". ;-)
> > I don't get the light bulb. You're talking about "the merge", I am
> > talking about fast-forward on picks.
>
> Ooops. I think I was talking about a later comment of Junio's.
>
> The thing is, if you try to pick a commit, and the current revision is
> already the parent of that commit, I think it would be wrong to redo the
> commit, pretending that the current time and committer were applying that
> commit.
Right.
> IMO the --signoff should check if the sign off is present (must be the
> last one, as if we redid that commit), and if it is, fast-forward.
>
> If it is missing, we need to redo the commit.
That's a good point.
Checked that and it's even a bug in the sequencer: on fast-forwards, no
signoff is added.
This should fix that:
--- a/git-sequencer.sh
+++ b/git-sequencer.sh
@@ -219,8 +219,6 @@ pick_one () {
fi
;;
esac
- test -n "$SIGNOFF" &&
- what="$what -s"
$use_perform git $what "$@"
}
@@ -973,16 +971,21 @@ insn_pick () {
$use_perform git commit --amend $EDIT $signoff --no-verify \
--author "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" \
--message="$MESSAGE"
- else
+ elif test -n "$AUTHOR"
+ then
# correct author if AUTHOR is set
- test -n "$AUTHOR" &&
- $use_perform git commit --amend $EDIT --no-verify -C HEAD \
- --author "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>"
- # XXX: a git-cherry-pick --author could be nicer here
+ $use_perform git commit --amend $EDIT --no-verify -C HEAD \
+ --author "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>"
+ elif test -n "$MESSAGE"
+ then
# correct commit message if MESSAGE is set
- test -n "$MESSAGE" &&
- $use_perform git commit --amend $EDIT $signoff --no-verify \
- -C HEAD --message="$MESSAGE"
+ $use_perform git commit --amend $EDIT $signoff --no-verify \
+ -C HEAD --message="$MESSAGE"
+ elif test -n "$SIGNOFF"
+ then
+ # only add signoff
+ $use_perform git commit --amend $EDIT $signoff --no-verify \
+ -C HEAD
fi
return 0
###
Ah, and that is poorly tested, but not untested. :) See:
$ git checkout -b seq-proto-dev3 HEAD^
Switched to a new branch "seq-proto-dev3"
$ git sequencer
mark :1
pick seq-proto-dev2
ref refs/test/no
reset :1
pick --signoff seq-proto-dev2
Now: seq-proto-dev3 has signoff and seq-proto-dev2 and refs/test/no have the
same SHA1. And the test suite passes.
Regards,
Stephan
--
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F
next prev parent reply other threads:[~2008-07-04 1:54 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-01 2:38 git sequencer prototype Stephan Beyer
2008-07-01 2:38 ` [RFC/PATCH 1/4] Add git-sequencer shell prototype Stephan Beyer
2008-07-01 2:38 ` [RFC/PATCH 2/4] Add git-sequencer prototype documentation Stephan Beyer
2008-07-01 2:38 ` [RFC/PATCH 3/4] Add git-sequencer test suite (t3350) Stephan Beyer
2008-07-01 2:38 ` [RFC/PATCH 4/4] Migrate git-am to use git-sequencer Stephan Beyer
2008-07-01 2:39 ` git-rebase-i migration to sequencer Stephan Beyer
2008-07-01 2:39 ` [PATCH 1/2] Make rebase--interactive use OPTIONS_SPEC Stephan Beyer
2008-07-01 2:39 ` [RFC/PATCH 2/2] Migrate git-rebase--i to use git-sequencer Stephan Beyer
2008-07-05 17:31 ` [RFC/PATCH 3/4] Add git-sequencer test suite (t3350) Stephan Beyer
2008-07-05 18:16 ` Junio C Hamano
2008-07-01 13:02 ` [RFC/PATCH 2/4] Add git-sequencer prototype documentation Jakub Narebski
2008-07-01 16:03 ` Stephan Beyer
2008-07-01 18:04 ` Jakub Narebski
2008-07-01 19:50 ` Stephan Beyer
2008-07-02 0:39 ` Jakub Narebski
2008-07-02 1:20 ` Junio C Hamano
2008-07-02 3:01 ` Stephan Beyer
2008-07-05 17:00 ` [PATCH v2 " Stephan Beyer
2008-07-08 10:37 ` Jakub Narebski
2008-07-08 11:49 ` Stephan Beyer
2008-07-09 5:20 ` Karl Hasselström
2008-07-03 1:45 ` [RFC/PATCH 1/4] Add git-sequencer shell prototype Junio C Hamano
2008-07-03 11:03 ` Johannes Schindelin
2008-07-03 21:09 ` Stephan Beyer
2008-07-03 22:11 ` Junio C Hamano
2008-07-03 22:34 ` Stephan Beyer
2008-07-03 23:53 ` Johannes Schindelin
2008-07-04 0:38 ` Stephan Beyer
2008-07-04 1:03 ` Johannes Schindelin
2008-07-04 1:53 ` Stephan Beyer [this message]
2008-07-04 15:19 ` [PATCH] Allow cherry-picking root commits Johannes Schindelin
2008-07-04 16:41 ` Stephan Beyer
2008-07-06 1:05 ` Junio C Hamano
2008-07-06 1:37 ` Johannes Schindelin
2008-07-06 11:32 ` t3503: Add test case for identical files Stephan Beyer
2008-07-06 11:35 ` [PATCH] Allow cherry-picking root commits Stephan Beyer
2008-07-06 12:48 ` Johannes Schindelin
2008-07-04 1:06 ` [RFC/PATCH 1/4] Add git-sequencer shell prototype Stephan Beyer
2008-07-04 1:11 ` Johannes Schindelin
2008-07-03 22:51 ` Junio C Hamano
2008-07-03 23:33 ` Stephan Beyer
2008-07-03 13:10 ` Jakub Narebski
2008-07-03 21:12 ` Stephan Beyer
2008-07-05 16:58 ` [PATCH v2 " Stephan Beyer
2008-07-01 8:51 ` git sequencer prototype Junio C Hamano
2008-07-01 14:53 ` Stephan Beyer
2008-07-04 21:00 ` Alex Riesen
2008-07-04 22:09 ` Junio C Hamano
2008-07-04 22:23 ` Stephan Beyer
2008-07-05 8:13 ` Alex Riesen
2008-07-05 10:12 ` Thomas Adam
2008-07-05 10:13 ` Johannes Schindelin
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=20080704015326.GI6677@leksak.fem-net \
--to=s-beyer@gmx.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.
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).