On Wed, Feb 26, 2014 at 09:04:30AM +0100, Michael Haggerty wrote: > It would be nice to support more flexibility in the todo-list commands > by allowing the commands to take options. Maybe > > * Convert a commit into a merge commit: > > pick -p c0ffeee -p e1ee712 deadbab The oneline of the commit after This seems like a reasonable feature to me. All of your examples are possible with an "e"dit and another git command, but the convenience may be worth it (though personally, most of the examples you gave are particularly interesting to me[1]). I'd worry a little that it is not a summer's worth of work, but I suspect there are other parts of rebase--interactive that could use attention once the student is familiar with the code. > * After squashing two commits, add a "Signed-off-by" line to the > commit log message: > > pick deadbee Implement feature XXX > squash --signoff f1a5c00 Fix to feature XXX > > or GPG-sign a commit: > > pick --gpg-sign=<keyid> deadbee Implement feature XXX > > * Reset the author of the commit to the current user or a specified > user: > > pick --reset-author deadbee Implement feature XXX > pick --author="A U Thor <author@xxxxxxxxxxx>" deadbab The oneline of > the commit after Your first example would need some commit-tree magic, I think. But could you implement these two with: pick deadbee Implement feature XXX exec git commit --amend --signoff --reset-author ? You could even alias the "amend" command to "exec git commit --amend", like: amend --signoff --reset-author Maybe that is unnecessarily unfriendly to the user, though. -Peff [1] The one feature I would like in this vein is that editing the title in the instruction-sheet would modify the commit message of the relevant commit. For some reason I try to do this every few weeks, but of course the changes are just thrown away. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html