Re: [RFCv2/FYI] git-sequencer.txt
- From
Paolo Bonzini <bonzini@gnu.org>
- Date
- Jun 12, 2008, 01:31 UTC
- Message-ID
- <48507C70.8010402@gnu.org>
- In-Reply-To
- <20080612002258.GC7200@leksak.fem-net>
> --collect-signoffs;; > Collect the Signed-by-off: lines of each commit and > add them to the squashed commit message.
I think this makes sense only if -m/-F/-C/-c (see later) is used, because otherwise the default behavior would be to concatenate all messages and call the editor, right? Would it be a no-op if those options are not given?
Show 5 quoted lines
> tag <tag>:: > Set tag `<tag>` to the current HEAD, > see also linkgit:git-tag[1]. > If another commit is tagged `<tag>`, it will lose this tag, > i.e. the tag will be reset to HEAD.
Is this a lightweight or a heavyweight tag? I guess lightweight -- the tag command should probably support -a, -s and -u like git-tag does. Unless -c/-C/-F/-m is given, the sequencer will then run the editor.
> -C <commit-ish>:: > --reuse-commit=<commit-ish>:: > --reference=<commit-ish>:: > Reuse message and authorship data from specified commit.
Why --reference? Also,
Show 5 quoted lines
> -M <commit-ish> > --reuse-message=<commit-ish>:: > Reuse message from specified commit. > Note, that only the commit message is reused > and not the authorship information.
For consistency with git-commit I would think it's better to have
-c <commit-ish>::
-C <commit-ish>::
--reedit-message=<commit-ish>::
--reuse-message=<commit-ish>::
Take existing commit object, and reuse the log message and the
authorship information (including the timestamp) when creating
the commit. With -C (or --reuse-message), the editor is not
invoked; with -c (or --reedit-message) the user can further edit
the commit message.(I know it's confusing that it's reusing the message too, but...) and then a separate option:
-A --author-override:: Force authorship information for commits created by the command to be the data in git's configuration files.
... if it is not too complicated to implement.
To satisfy Pierre's comment, you might also add a "-e" general option, which forces an invocation of the editor -- even if -C/-m/-F are given, and even if the command is pick/patch/merge. I guess that in order to support -C/-m/-F you already have to use git-cherry-pick and git-merge's --no-commit options, so it should not be hard to implement.
Paolo