On Sun, Oct 27, 2013 at 03:33:19PM +0700, Duy Nguyen wrote:
On Sun, Oct 27, 2013 at 8:34 AM, Josh Triplett [off-list ref] wrote:
quoted
Add a command line option for git commit to automatically construct the
"Fixes:" line for a commit. This avoids the need to manually construct
that line by copy-pasting the commit hash and subject.
But you still have to copy/paste the hash in command line. I wonder if
we should approach it differently: the user writes "Fixes: <hash>" in
the commit message, then git detects these lines and expands them
Then you have to copy/paste the hash into the commit message; either way
you're not getting around that. However, note that you can pass a ref
instead of a commit hash, if you happen to have saved a tag pointing to
the broken ref. (Or, for instance, if you have it from a bisection.)
I could imagine supporting that approach in addition (via a commit-msg
hook, for instance), but I'd still like to have the command-line option
to git commit.
using a user-configured format. For the kernel circle, the format
would be "%h ('%s')" (I'll need to think how to let the user say
"minimum 12 chars").
I considered making the format configurable, and that's easy enough to
do, but I wanted to start out with the simplest patch that achieved the
goal, on the theory that it's easy to add configurability later if
anyone actually needs it.
Other projects need to refer to old commits sometimes in commit
messages too and this could be extended further to expand inline
abbrev sha-1s, but to not break the text alignment badly, maybe
footnotes will be created to store subjects and stuff, rather than do
inline expansion. For example,
commit 1232343 breaks something.....
becomes
comit 1232343 [1] breaks something....
[1] 123234332131 (do something wrong - at this date)
Easily done via a commit-msg hook, if you want that.
- Josh Triplett