{"thread":{"id":"51592","subject":"amend warnings with no changes staged","startedAt":"2019-08-06T00:28:14Z","lastAt":"2019-08-08T09:46:10Z","messageCount":13,"participants":["Lukas Gross","Jonathan Nieder","Junio C Hamano","Jeff King","Phillip Wood"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"379967","messageId":"CAOY1tUUmkRBEDkF3GiP45WSi50uUGBaamx9-PGej0Z-yt0ioPg@mail.gmail.com","threadId":"51592","inReplyTo":null,"subject":"amend warnings with no changes staged","fromName":"Lukas Gross","fromEmail":"lukasgross@u.northwestern.edu","sentAt":"2019-08-06T00:28:12Z","receivedAt":"2019-08-06T00:28:14Z","isPatch":false,"sender":{"key":"lukasgross@u.northwestern.edu","avatar":null},"body":"Hi,\n\nI have occasionally used git commit --amend without staging any\nchanges or modifying the commit message (--no-edit). Since this is\noften done unintentionally, could amend warn when it is being used in\nthis way?\n\nThanks!\n"},{"id":"379968","messageId":"20190806013030.GA61803@google.com","threadId":"51592","inReplyTo":"CAOY1tUUmkRBEDkF3GiP45WSi50uUGBaamx9-PGej0Z-yt0ioPg@mail.gmail.com","subject":"Re: amend warnings with no changes staged","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2019-08-06T01:30:30Z","receivedAt":"2019-08-06T01:30:35Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nLukas Gross wrote:\n\n> I have occasionally used git commit --amend without staging any\n> changes or modifying the commit message (--no-edit). Since this is\n> often done unintentionally, could amend warn when it is being used in\n> this way?\n\nCan you say more about the context?  What were you trying to do when\nyou performed this operation?  What happened instead?\n\nThanks,\nJonathan\n"},{"id":"379969","messageId":"CAOY1tUVpeUftgHNuZg-2fMD9D+Qz08hfvRvQDe1f8+MV2xYv2w@mail.gmail.com","threadId":"51592","inReplyTo":"20190806013030.GA61803@google.com","subject":"Re: amend warnings with no changes staged","fromName":"Lukas Gross","fromEmail":"lukasgross@u.northwestern.edu","sentAt":"2019-08-06T01:37:45Z","receivedAt":"2019-08-06T01:37:48Z","isPatch":false,"sender":{"key":"lukasgross@u.northwestern.edu","avatar":null},"body":"Hi Jonathan,\n\nI had intended to stage commits but forgot to do so. Git responded\nwith a normal commit creation message, so I pushed to the remote to\nbegin a CI build. When the build failed for the same reason, I\nrealized I had forgotten to stage the changes. An additional line in\nthe response to the effect of “Warning: did you mean to amend with no\nchanges?” would be very helpful to shorten this feedback loop.\n\nLukas\n\nOn 8/5/19, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Hi,\n>\n> Lukas Gross wrote:\n>\n>> I have occasionally used git commit --amend without staging any\n>> changes or modifying the commit message (--no-edit). Since this is\n>> often done unintentionally, could amend warn when it is being used in\n>> this way?\n>\n> Can you say more about the context?  What were you trying to do when\n> you performed this operation?  What happened instead?\n>\n> Thanks,\n> Jonathan\n>\n\n\n-- \n*Lukas Gross*\nB.S. Computer Science | McCormick School of Engineering\nNorthwestern University | Class of 2020\n(224) 522-9067\n"},{"id":"379971","messageId":"20190806020132.GB61803@google.com","threadId":"51592","inReplyTo":"CAOY1tUVpeUftgHNuZg-2fMD9D+Qz08hfvRvQDe1f8+MV2xYv2w@mail.gmail.com","subject":"Re: amend warnings with no changes staged","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2019-08-06T02:01:32Z","receivedAt":"2019-08-06T02:01:36Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"(administrivia: please don't top-post)\nLukas Gross wrote:\n\n> I had intended to stage commits but forgot to do so. Git responded\n> with a normal commit creation message, so I pushed to the remote to\n> begin a CI build. When the build failed for the same reason, I\n> realized I had forgotten to stage the changes. An additional line in\n> the response to the effect of “Warning: did you mean to amend with no\n> changes?” would be very helpful to shorten this feedback loop.\n\nAh, I see.  You passed --no-edit so you didn't see the usual --dry-run\nstyle output that \"git commit\" shows.  You forgot to run \"git add\"\nbefore amending, and this is what you'd like commit to assist you\nwith.\n\nThat said, this is sometimes an operation people perform\nintentionally.\n\nIdeas:\n\n* Can the documentation do a better job of steering people away\n  from --no-edit?  The hints shown when \"git commit --amend\" (and\n  --no-amend, for that matter) open a text editor tend to be very\n  helpful for understanding what is going to happen.  If any\n  documentation is leading people to forgo that tool, we should fix\n  it.\n\n* Should \"git commit --no-edit\" say a little more about what it did,\n  since it knows that the user didn't get to see the text editor?\n\n* Should we have a special option (e.g. \"git commit --amend\n  --refresh\") for a no-op amend?  That ways, when a user doesn't pass\n  that option, it would be more clear that it is a mistake, allowing\n  a warning or even an error.\n\nOf these three, the first seems most compelling to me.  Others may\nhave other ideas.\n\nThoughts?\n\nThanks,\nJonathan\n"},{"id":"379972","messageId":"20190806021618.GC61803@google.com","threadId":"51592","inReplyTo":"CAOY1tUVpeUftgHNuZg-2fMD9D+Qz08hfvRvQDe1f8+MV2xYv2w@mail.gmail.com","subject":"Re: amend warnings with no changes staged","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2019-08-06T02:16:18Z","receivedAt":"2019-08-06T02:16:22Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Lukas Gross wrote:\n\n> I had intended to stage commits but forgot to do so. Git responded\n> with a normal commit creation message, so I pushed to the remote to\n> begin a CI build. When the build failed for the same reason, I\n> realized I had forgotten to stage the changes. An additional line in\n> the response to the effect of “Warning: did you mean to amend with no\n> changes?” would be very helpful to shorten this feedback loop.\n\nOn second thought:\n\n\t$ git commit --amend --no-edit\n\t[detached HEAD 33a3db8805] Git 2.23-rc1\n\t Author: Junio C Hamano <gitster@pobox.com>\n\t Date: Fri Aug 2 13:12:24 2019 -0700\n\t 2 files changed, 2 insertions(+), 1 deletion(-)\n\t$\n\nSome non-judgemental descriptive output like\n\n\t$ git commit --amend --no-edit\n\tNo changes.\n\t$\n\nwould address this case, without bothering people who are doing it\nintentionally.  So I think there's room for a simple improvement here.\n\nCare to take a stab at it?  builtin/commit.c would be the place to\nstart.\n\nThanks and sorry for the roller-coaster,\nJonathan\n"},{"id":"379973","messageId":"xmqqtvavko1h.fsf@gitster-ct.c.googlers.com","threadId":"51592","inReplyTo":"20190806021618.GC61803@google.com","subject":"Re: amend warnings with no changes staged","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-06T02:47:38Z","receivedAt":"2019-08-06T02:47:42Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Lukas Gross wrote:\n>\n>> I had intended to stage commits but forgot to do so. Git responded\n>> with a normal commit creation message, so I pushed to the remote to\n>> begin a CI build. When the build failed for the same reason, I\n>> realized I had forgotten to stage the changes. An additional line in\n>> the response to the effect of “Warning: did you mean to amend with no\n>> changes?” would be very helpful to shorten this feedback loop.\n>\n> On second thought:\n>\n> \t$ git commit --amend --no-edit\n> \t[detached HEAD 33a3db8805] Git 2.23-rc1\n> \t Author: Junio C Hamano <gitster@pobox.com>\n> \t Date: Fri Aug 2 13:12:24 2019 -0700\n> \t 2 files changed, 2 insertions(+), 1 deletion(-)\n> \t$\n>\n> Some non-judgemental descriptive output like\n>\n> \t$ git commit --amend --no-edit\n> \tNo changes.\n> \t$\n>\n> would address this case, without bothering people who are doing it\n> intentionally.  So I think there's room for a simple improvement here.\n\nI do that to refresh the committer timestamp.  Do I now have to say\nsomething silly like\n\n\t$ GIT_EDITOR=true git commit --amend\n\nto defeat the above (mis)feature, or is there a cleaner workaround?\n\nObviously I'd prefer to see a solution that does not force existing\nusers to work around the new behaviour ;-)\n\n> Care to take a stab at it?  builtin/commit.c would be the place to\n> start.\n\nI'd suggest not to start it before we know what we want.  I am not\nyet convinced that \"--amend --no-edit will become a no-op\" is the\nfinal solution we want.\n"},{"id":"379975","messageId":"20190806030026.GA8864@google.com","threadId":"51592","inReplyTo":"xmqqtvavko1h.fsf@gitster-ct.c.googlers.com","subject":"Re: amend warnings with no changes staged","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2019-08-06T03:00:26Z","receivedAt":"2019-08-06T03:00:31Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Junio C Hamano wrote:\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n>> Lukas Gross wrote:\n\n>>> I had intended to stage commits but forgot to do so. Git responded\n>>> with a normal commit creation message, so I pushed to the remote to\n>>> begin a CI build. When the build failed for the same reason, I\n>>> realized\n[...]\n>> \t$ git commit --amend --no-edit\n>> \t[detached HEAD 33a3db8805] Git 2.23-rc1\n>> \t Author: Junio C Hamano <gitster@pobox.com>\n>> \t Date: Fri Aug 2 13:12:24 2019 -0700\n>> \t 2 files changed, 2 insertions(+), 1 deletion(-)\n>> \t$\n>>\n>> Some non-judgemental descriptive output like\n>>\n>> \t$ git commit --amend --no-edit\n>> \tNo changes.\n>> \t$\n>>\n>> would address this case, without bothering people who are doing it\n>> intentionally.  So I think there's room for a simple improvement here.\n>\n> I do that to refresh the committer timestamp.\n\nI do, too.  The proposal is, paraphrasing,\n\n\t$ git commit --amend --no-edit\n\tAh, I see that you want me to refresh the committer timestamp.\n\tDone, as requested.\n\t$\n\nIn other words:\n\n[...]\n>                                                           I am not\n> yet convinced that \"--amend --no-edit will become a no-op\" is the\n> final solution we want.\n\nNot this.\n\nHoping that clarifies,\nJonathan\n"},{"id":"379976","messageId":"xmqqpnljkm3d.fsf@gitster-ct.c.googlers.com","threadId":"51592","inReplyTo":"20190806030026.GA8864@google.com","subject":"Re: amend warnings with no changes staged","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-06T03:29:42Z","receivedAt":"2019-08-06T03:29:48Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n>>> Some non-judgemental descriptive output like\n>>>\n>>> \t$ git commit --amend --no-edit\n>>> \tNo changes.\n>>> \t$\n>>>\n>>> would address this case, without bothering people who are doing it\n>>> intentionally.  So I think there's room for a simple improvement here.\n>>\n>> I do that to refresh the committer timestamp.\n>\n> I do, too.  The proposal is, paraphrasing,\n>\n> \t$ git commit --amend --no-edit\n> \tAh, I see that you want me to refresh the committer timestamp.\n> \tDone, as requested.\n> \t$\n\nAh, OK then.  I somehow misread \"No changes.\" as an error message.\n"},{"id":"379978","messageId":"xmqqh86vkl0j.fsf@gitster-ct.c.googlers.com","threadId":"51592","inReplyTo":"xmqqpnljkm3d.fsf@gitster-ct.c.googlers.com","subject":"Re: amend warnings with no changes staged","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-06T03:53:00Z","receivedAt":"2019-08-06T03:53:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n>\n>>>> Some non-judgemental descriptive output like\n>>>>\n>>>> \t$ git commit --amend --no-edit\n>>>> \tNo changes.\n>>>> \t$\n>>>>\n>>>> would address this case, without bothering people who are doing it\n>>>> intentionally.  So I think there's room for a simple improvement here.\n>>>\n>>> I do that to refresh the committer timestamp.\n>>\n>> I do, too.  The proposal is, paraphrasing,\n>>\n>> \t$ git commit --amend --no-edit\n>> \tAh, I see that you want me to refresh the committer timestamp.\n>> \tDone, as requested.\n>> \t$\n>\n> Ah, OK then.  I somehow misread \"No changes.\" as an error message.\n\nWell, on second thought, I think \"fatal: no changes\" that exits with\nnon-zero, with \"--force\" as an escape hatch for those who want to\nrefresh the committer timestamp, would probably be more in line with\nthe expectation Lukas had when this thread was started, and I further\nsuspect that it might be a bit more end-user friendly.\n\nIt is a backward incompatible behaviour, but I suspect that if I\nwere inventing \"commit --amend\" today, unlike 8588452c (\"git-commit\n--amend: allow empty commit.\", 2006-03-04), I probably would design\nit that way.  After all, failing and stopping is always a safer\noption than going ahead with or without a report.\n\nI am not sure which one between \"go ahead anyway but report\" and\n\"fail by default but allow forcing\" I would prefer more.  At least\nnot yet.  But I won't rule the latter out at this point.\n\nThanks.\n"},{"id":"379979","messageId":"20190806041911.GA9243@sigill.intra.peff.net","threadId":"51592","inReplyTo":"20190806021618.GC61803@google.com","subject":"Re: amend warnings with no changes staged","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2019-08-06T04:19:11Z","receivedAt":"2019-08-06T04:19:14Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Aug 05, 2019 at 07:16:18PM -0700, Jonathan Nieder wrote:\n\n> Lukas Gross wrote:\n> \n> > I had intended to stage commits but forgot to do so. Git responded\n> > with a normal commit creation message, so I pushed to the remote to\n> > begin a CI build. When the build failed for the same reason, I\n> > realized I had forgotten to stage the changes. An additional line in\n> > the response to the effect of “Warning: did you mean to amend with no\n> > changes?” would be very helpful to shorten this feedback loop.\n> \n> On second thought:\n> \n> \t$ git commit --amend --no-edit\n> \t[detached HEAD 33a3db8805] Git 2.23-rc1\n> \t Author: Junio C Hamano <gitster@pobox.com>\n> \t Date: Fri Aug 2 13:12:24 2019 -0700\n> \t 2 files changed, 2 insertions(+), 1 deletion(-)\n> \t$\n> \n> Some non-judgemental descriptive output like\n> \n> \t$ git commit --amend --no-edit\n> \tNo changes.\n> \t$\n> \n> would address this case, without bothering people who are doing it\n> intentionally.  So I think there's room for a simple improvement here.\n> \n> Care to take a stab at it?  builtin/commit.c would be the place to\n> start.\n\nI'm not clear on the situation from your second change. There are two\nsets of changes to talk about here: the changes between the new commit\nand its parent, and the changes between the original commit and the\namended version.\n\nThe output in your first example is showing the differences to the\nparent. Do you mean in the second example that there are no changes to\nthe parent, and thus we say \"No changes\"? If not, then what happened to\nthat output? :)\n\nAnd if so, then I don't think it is solving Lukas's problem. I imagine\nthe issue to be (because I have done this myself many times):\n\n  git commit -m 'buggy commit'\n  echo fix >>file.c\n  git commit --amend ;# oops, should have been \"-a\"\n  git push\n\nBut perhaps that gets to the heart of the matter. Could we perhaps be\nproviding a more detailed summary of what happened for an --amend? I.e.,\nto summarize _both_ sets of changes (and if one set is empty, say so)?\n\nI'm not quite sure how to make that readable. Something like:\n\n  $ git commit --amend\n  [master 5787bce] some commit subject\n   Date: Tue Aug 6 00:03:28 2019 -0400\n  Changes introduced by this commit (diff HEAD^):\n   1 file changed, 1 insertion(+)\n   create mode 100644 added-by-broken-commit\n  Changes from the amend commit (diff HEAD@{1}):\n   1 file changed, 1 insertion(+)\n   create mode 100644 added-during-amend\n\nis pretty ugly. And anyway, because it's just the diffstat total, it's\nhard to see whether it contains your changes or not (i.e., would you\nnotice if you forgot to stage 3 lines from some random file). OTOH, if\nthe common case we care about is just \"you didn't stage anything as part\nof the amend\", then it would be enough to let you know (without making a\njudgement about whether it's an error, since it may well be that you\nwere simply rewording the commit message).\n\n-Peff\n"},{"id":"380009","messageId":"b12f58f6-663a-bd0f-5854-d7ff0b83848b@gmail.com","threadId":"51592","inReplyTo":"xmqqh86vkl0j.fsf@gitster-ct.c.googlers.com","subject":"Re: amend warnings with no changes staged","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2019-08-06T16:32:07Z","receivedAt":"2019-08-06T16:32:13Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"On 06/08/2019 04:53, Junio C Hamano wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n> \n>> Jonathan Nieder <jrnieder@gmail.com> writes:\n>>\n>>>>> Some non-judgemental descriptive output like\n>>>>>\n>>>>> \t$ git commit --amend --no-edit\n>>>>> \tNo changes.\n>>>>> \t$\n>>>>>\n>>>>> would address this case, without bothering people who are doing it\n>>>>> intentionally.  So I think there's room for a simple improvement here.\n>>>>\n>>>> I do that to refresh the committer timestamp.\n>>>\n>>> I do, too.  The proposal is, paraphrasing,\n>>>\n>>> \t$ git commit --amend --no-edit\n>>> \tAh, I see that you want me to refresh the committer timestamp.\n>>> \tDone, as requested.\n>>> \t$\n>>\n>> Ah, OK then.  I somehow misread \"No changes.\" as an error message.\n> \n> Well, on second thought, I think \"fatal: no changes\" that exits with\n> non-zero, with \"--force\" as an escape hatch for those who want to\n> refresh the committer timestamp, would probably be more in line with\n> the expectation Lukas had when this thread was started, and I further\n> suspect that it might be a bit more end-user friendly.\n\nI agree that this would be the must user friendly way of doing it. I \nthink refreshing the timestamp is probably a niche use of '--amend' (out \nof interest what the the motivation for doing that?) although it does \nseem to popular with the other contributors to this thread. We could \nalways have a transition period with an opt-in config variable. I find \nthe current behavior quite annoying when I've forgotten to stage \nanything as there is no indication the the commit's content is \nunchanged. I've been using a wrapper script that errors out if there are \nno new changes staged with --amend --no-edit and found it very helpful \n(as is a proper --reword option rather than having to give --amend --only)\n\nBest Wishes\n\nPhillip\n\n> \n> It is a backward incompatible behaviour, but I suspect that if I\n> were inventing \"commit --amend\" today, unlike 8588452c (\"git-commit\n> --amend: allow empty commit.\", 2006-03-04), I probably would design\n> it that way.  After all, failing and stopping is always a safer\n> option than going ahead with or without a report.\n> \n> I am not sure which one between \"go ahead anyway but report\" and\n> \"fail by default but allow forcing\" I would prefer more.  At least\n> not yet.  But I won't rule the latter out at this point.\n> \n> Thanks.\n> \n"},{"id":"380038","messageId":"xmqqblx2jeh2.fsf@gitster-ct.c.googlers.com","threadId":"51592","inReplyTo":"20190806041911.GA9243@sigill.intra.peff.net","subject":"Re: amend warnings with no changes staged","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-06T19:11:53Z","receivedAt":"2019-08-06T19:12:01Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n>   git commit -m 'buggy commit'\n>   echo fix >>file.c\n>   git commit --amend ;# oops, should have been \"-a\"\n>   git push\n>\n> But perhaps that gets to the heart of the matter. Could we perhaps be\n> providing a more detailed summary of what happened for an --amend? I.e.,\n> to summarize _both_ sets of changes (and if one set is empty, say so)?\n> ...\n> judgement about whether it's an error, since it may well be that you\n> were simply rewording the commit message).\n\nPerhaps \"git range-diff HEAD@{1}...HEAD\" being an empty is a sign\nthat either the user intentionally or accidentally did not do\nanything other than \"touch\"ing the commit.\n\n\"git commit --amend --[no-]range-diff\" that shows what you changed\nwith the amending may be an interesting possibility; I am not yet\nready to seriously encourage anybody to explore it, though, because\n\"git diff HEAD@{1}\" is much easier to see what code got changed, but\none (and probably only) downside is that it does not cover the\nchange in the log message.\n"},{"id":"380112","messageId":"20190808094607.GB12257@sigill.intra.peff.net","threadId":"51592","inReplyTo":"xmqqblx2jeh2.fsf@gitster-ct.c.googlers.com","subject":"Re: amend warnings with no changes staged","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2019-08-08T09:46:08Z","receivedAt":"2019-08-08T09:46:10Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Aug 06, 2019 at 12:11:53PM -0700, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> >   git commit -m 'buggy commit'\n> >   echo fix >>file.c\n> >   git commit --amend ;# oops, should have been \"-a\"\n> >   git push\n> >\n> > But perhaps that gets to the heart of the matter. Could we perhaps be\n> > providing a more detailed summary of what happened for an --amend? I.e.,\n> > to summarize _both_ sets of changes (and if one set is empty, say so)?\n> > ...\n> > judgement about whether it's an error, since it may well be that you\n> > were simply rewording the commit message).\n> \n> Perhaps \"git range-diff HEAD@{1}...HEAD\" being an empty is a sign\n> that either the user intentionally or accidentally did not do\n> anything other than \"touch\"ing the commit.\n> \n> \"git commit --amend --[no-]range-diff\" that shows what you changed\n> with the amending may be an interesting possibility; I am not yet\n> ready to seriously encourage anybody to explore it, though, because\n> \"git diff HEAD@{1}\" is much easier to see what code got changed, but\n> one (and probably only) downside is that it does not cover the\n> change in the log message.\n\nI hadn't even thought of range-diff.\n\nShowing the commit message diff would be a big improvement. A range-diff\nwould also show an update to the author (e.g., if you used --reset-author).\n\nWe don't really need the full power of range diff, though. After all, we\nknow there are exactly two patches to compare, so we don't care about it\ntrying to figure out which ones correlate (and it might even be a bad\nthing for it to decide that two entries don't match). So I think we'd\nprobably want our own custom thing.\n\n-Peff\n"}]}