lkml.org 
[lkml]   [2013]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line
On 10/27/2013 09:09 AM, Thomas Rast wrote:
> Josh Triplett <josh@joshtriplett.org> writes:
>
>> On Sun, Oct 27, 2013 at 06:42:44AM +0100, Michael Haggerty wrote:
>>> But I don't think that this feature should be given the "-f" short
>>> option, as (a) -f often means "force"; (b) it will increase the
>>> confusion with --fixup; (c) it just doesn't strike me as being likely to
>>> be such a frequently-used option (though if this changes over time the
>>> "-f" option could always be granted to it later).
>>
>> (a) -n often means --dry-run, but for commit it means --no-verify.
>> Different commands have different options, and commit doesn't have a
>> --force to abbreviate as -f.
>>
>> (b) If anything, I think the existence of a short option will make the
>> distinction more obvious, since -f and --fixup are much less similar
>> than --fixes and --fixup. Most users will never type --fixes, making
>> confusion unlikely.
>>
>> (c) Short option letters tend to be first-come first-serve unless
>> there's a strong reason to do otherwise. Why reserve 'f' for some
>> hypothetical future option that doesn't exist yet?
>
> No, lately the direction in Git has been to avoid giving options a
> one-letter shorthand until they have proven so useful that people using
> it in the wild start to suggest that it should have one.
>
> See e.g.
>
> http://article.gmane.org/gmane.comp.version-control.git/233998
> http://article.gmane.org/gmane.comp.version-control.git/168748
>
> A much better argument would be if it was already clear from the specs
> laid out for Fixes that n% of the kernel commits will end up having this
> footer, and thus kernel hackers will spend x amount of time spelling out
> --fixes and/or confusing it with --fixup to much headache.
>

I assembled an overview table, which plots the long options of
git commands by the short letters.
Here it is:
(Best viewed with a *large* screen and monospace font)

Name\short | C | B | A | G | F | E | H | O | N | L | S | R | P | W | X | c | b | a | g | f | e | d | k | i | o | n | m | l | s | r | q | p | w | v | u | t | z | x | 3 | 2
status | | | | | | | | | | | | | | | | | branch | | | | | | | | | | | | short | | | | | verbose | untracked-files | | null | | | status
help | | | | | | | | | | | | | | | | | | all | guides | | | | | info | | | man | | | | | | web | | | | | | | help
show | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | show
revert | | | | | | | | | | | | | | | strategy-option | | | | | | edit | | | | | no-commit | mainline | | signoff | | | | | | | | | | | revert
pack-objects | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | pack-objects
prune-packed | | | | | | | | | | | | | | | | | | | | | | | | | | dry-run | | | | | quiet | | | | | | | | | prune-packed
replace | | | | | | | | | | | | | | | | | | | | force | | delete | | | | | | list | | | | | | | | | | | | replace
show-ref | | | | | | | | | | | | | | | | | | | | | | dereference | | | | | | | hash | | quiet | | | | | | | | | show-ref
tag | | | | | file | | | | | | | | | | | | | annotate | | force | | delete | | | | | message | list | sign | | | | | verify | local-user | | | | | tag
gc | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | gc
apply | | | | | | | | | | | | reverse | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | 3way | apply
fsck-objects | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | fsck-objects
archive | | | | | | | | | | | | | | | | | | | | | | | | | output | | | | | | | | | | | | | | | archive
merge-file | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | stdout | | | | | | | | merge-file
log | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | log
cherry | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | cherry
checkout-index | | | | | | | | | | | | | | | | | | all | | force | | | | | | no-create | | | | | quiet | | | | index | | | | | checkout-index
check-attr | | | | | | | | | | | | | | | | | | all | | | | | | | | | | | | | | | | | | | | | | check-attr
reflog | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | reflog
branch | | | | | | | | | | | | | | | | | | all | | force | | delete | | | | | move | create-reflog | | remotes | quiet | | | verbose | set-upstream-to | track | | | | branch
ls-tree | | | | | | | | | | | | | | | | | | | | | | | | | | | | long | | | | | | | | | | | | ls-tree
rm | | | | | | | | | | | | | | | | | | | | force | | | | | | dry-run | | | | | quiet | | | | | | | | | rm
config | | | | | | | | | | | | | | | | | | | | file | edit | | | | | | | list | | | | | | | | | null | | | config
remote | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | remote
init-db | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | init-db
merge-base | | | | | | | | | | | | | | | | | | all | | | | | | | | | | | | | | | | | | | | | | merge-base
for-each-ref | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shell | | | perl | | | | | | | | for-each-ref
clone | | | | | | | | | | | | | | | | config | branch | | | | | | | | origin | no-checkout | | local | shared | | quiet | | | verbose | upload-pack | | | | | clone
count-objects | | | | | | | human-readable | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | count-objects
fsck | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | fsck
verify-pack | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stat-only | | | | | verbose | | | | | | verify-pack
update-server-info | | | | | | | | | | | | | | | | | | | | force | | | | | | | | | | | | | | | | | | | | update-server-info
add | | | all | | | | | | intent-to-add | | | | | | | | | | | force | edit | | | interactive | | dry-run | | | | | | patch | | verbose | update | | | | | add
whatchanged | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | whatchanged
cherry-pick | | | | | | | | | | | | | | | strategy-option | | | | | | edit | | | | | no-commit | mainline | | signoff | | | | | | | | | | | cherry-pick
read-tree | | | | | | | | | | | | | | | | | | | | | | | | | | dry-run | | | | | | | | verbose | | | | | | read-tree
format-patch | | | | | | | | | no-numbered | | | | | | | | | | | | | | keep-subject | | output-directory | numbered | | | signoff | | quiet | no-stat | | reroll-count | | | | | | format-patch
stage | | | all | | | | | | intent-to-add | | | | | | | | | | | force | edit | | | interactive | | dry-run | | | | | | patch | | verbose | update | | | | | stage
reset | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | patch | | | | | | | | reset
check-ignore | | | | | | | | | | | | | | | | | | | | | | | | | | non-matching | | | | | quiet | | | verbose | | | | | | check-ignore
grep | context | before-context | after-context | basic-regexp | fixed-strings | extended-regexp | | open-files-in-pager | | files-without-match | | | perl-regexp | function-context | | count | | text | | | | | | ignore-case | | line-number | | files-with-matches | | | quiet | show-function | word-regexp | invert-match | | | null | | | grep
prune | | | | | | | | | | | | | | | | | | | | | | | | | | dry-run | | | | | | | | verbose | | | | | | prune
symbolic-ref | | | | | | | | | | | | | | | | | | | | | | delete | | | | | | | | | quiet | | | | | | | | | symbolic-ref
checkout | | | | | | | | | | | | | | | | | | | | force | | | | | | | merge | | | | quiet | patch | | | | track | | | theirs | ours checkout
repack | | | | | | | | | | | | | | | | | | | | | | | | | | | | local | | | quiet | | | | | | | | | repack
init | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | quiet | | | | | | | | | init
merge | | | | | | | | | | | gpg-sign | | | | strategy-option | | | | | | edit | | | | | | message | | strategy | | quiet | | | verbose | | | | | | merge
mv | | | | | | | | | | | | | | | | | | | | force | | | | | | dry-run | | | | | | | | verbose | | | | | | mv
ls-files | | | | | | | | | | | | | | | exclude-from | cached | | | | | | deleted | killed | ignored | others | | modified | | stage | | | | | | unmerged | | | exclude | | ls-files
clean | | | | | | | | | | | | | | | | | | | | force | exclude | | | interactive | | dry-run | | | | | quiet | | | | | | | | | clean
show-branch | | | | | | | | | | | | | | | | | | all | reflog | | | | | | | | | | | remotes | | | | | | | | | | show-branch
push | | | | | | | | | | | | | | | | | | | | force | | | | | | dry-run | | | | | quiet | | | verbose | set-upstream | | | | | push
commit | reuse-message | | | | file | | | | | | gpg-sign | | | | | reedit-message | | all | | | edit | | | include | only | no-verify | message | | signoff | | quiet | patch | | verbose | untracked-files | template | null | | | commit
verify-tag | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verbose | | | | | | verify-tag
fmt-merge-msg | | | | | file | | | | | | | | | | | | | | | | | | | | | | message | | | | | | | | | | | | | fmt-merge-msg
fetch | | | | | | | | | | | | | | | | | | append | | force | | | keep | | | | multiple | | | | quiet | prune | | verbose | update-head-ok | tags | | | | fetch


(In case thunderbird messes it up, here it is again http://pastebin.com/raw.php?i=JBci2Krx)

As you can see, f is always --force except for git-config, where it is --file




\
 
 \ /
  Last update: 2013-10-27 10:41    [W:0.154 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site