Re: Git feature request: --amend older commit
Jared Hance jaredha...@gmail.com writes: [administrivia: do not deflect a direct response to you away by using mail-followup-to header, thanks] On Fri, Aug 17, 2012 at 11:47:49AM -0400, George Spelvin wrote: Something like git commit --fixup HEAD~3, where git commit --fixup HEAD would be equivalent to git commit --amend. Yes, as an end-user facing command set, git commit --amend HEAD~3 would not be a bad addition. Such a simple task shouldn't require an interactive command. In some cases, yes. But the devil is in the details, and whoever wants to work on must be prepared to see cases where the remainder of the commits after rewriting an older commit will not replay cleanly on top of it. At that point, it won't be a simple task anymore. At least, it must make it clear what the user should do when commit --amend HEAD~3 (and subsequent rebuilding of HEAD~2, HEAD~1 and HEAD on top of the amended result) needs a help from the user to resolve conflicts. It may be just the matter of mentioning from here on, follow the procedure you would use when you are running 'rebase -i', if the chosen mechanism to implement the sequencing behind the commit --amend HEAD~3 UI is rebase -i. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Git feature request: --amend older commit
On 08/17/2012 05:47 PM, George Spelvin wrote: With git's commit frequently style, I often find that I end up with a commit that includes a typo in a comment or I forgot one call site when updating functions or something. And it's a few commits later before I notice the simple oops. This is of course fixable by making a commit, rebase -i HEAD~4 (or whatever), and marking the fixup for squashing into the previous commit. But it would be really handy if there were a one-step command for doing this. Something like git commit --fixup HEAD~3, where git commit --fixup HEAD would be equivalent to git commit --amend. [...] Have you tried git rebase --autosquash? It does part of what you are asking for and additionally allows multiple fixup commits to be queued up and processed in a single rebase. Michael -- Michael Haggerty mhag...@alum.mit.edu http://softwareswirl.blogspot.com/ -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Git feature request: --amend older commit
On Fri, Aug 17, 2012 at 11:47:49AM -0400, George Spelvin wrote: Something like git commit --fixup HEAD~3, where git commit --fixup HEAD would be equivalent to git commit --amend. Aside from the ways others mentioned on how to do this, I think that a better interface if this were to be added would be to make the commit an optional parameter of --amend. Adding another parameter which effectively does a superset of --amend sounds unnecessary. I often want to amend a commit, but its simply too much work, so I usually commit it marking the message as something like fixup! Then, before I push, I make sure to rebase all of the commits marked as fixups. Clearly autosquash does this, but to have to override the editor as true is just a hassle. I feel like this is a common enough need that it deserves more first class support than relying on the rebase command and then using true as an editor. Either it should be supported natively or it should be possible to autosquash a rebase without --interactive, since at present --autosquash requires --interactive, which isn't nice for when the user does not want the rebase to be interactive. Such a simple task shouldn't require an interactive command. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html