From: Jeff King Date: Sat, 02 Aug 2014 00:13:22 GMT Subject: Re: [PATCH v1 08/19] rebase -i: root commits are replayed with an unnecessary option Message-ID: <20140802001322.GC20040@peff.net> In-Reply-To: <7ed1b44ae05860a556d86c8b90ac6fff0906128d.1406589435.git.bafain@gmail.com> On Tue, Jul 29, 2014 at 01:18:08AM +0200, Fabian Ruch wrote: > The command line used to recreate root commits specifies the > effectless option `-C`. It makes git-commit reuse commit message and > authorship of the named commit. However, the commit being amended > here, which is the sentinel commit, already carries the authorship > and log message of the commit being replayed. Remove the option. > > Since `-C` (in contrast to `-c`) does not invoke the editor and the > `--amend` option invokes it by default, disable editor invocation > again by specifying `--no-edit`. I found this description a little backwards. The "-C" does have an effect, as you noticed in the second paragraph. I think the reasoning is more like: The command line used to recreate root commits uses "-C" to suppress the commit editor. This is unnecessarily confusing, though, because that suppression is a secondary effect of the option. The main purpose of "-C" is to pull the metadata from another commit, but here we know that this is a noop, since we are amending a commit just created from the same data. At the time, commit did not yet know "--no-edit", and this was a reasonable way to get the desired behavior. We can switch it to use "--no-edit" to make the intended effect more obvious. -Peff