From: Stefan Beller <stefanbeller@googlemail.com>
To: Thomas Rast <tr@thomasrast.ch>, Josh Triplett <josh@joshtriplett.org>
Cc: Michael Haggerty <mhagger@alum.mit.edu>,
git@vger.kernel.org, Dan Carpenter <dan.carpenter@oracle.com>,
Greg KH <greg@kroah.com>,
ksummit-2013-discuss@lists.linuxfoundation.org,
ksummit-attendees@lists.linuxfoundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line
Date: Sun, 27 Oct 2013 10:26:52 +0100 [thread overview]
Message-ID: <526CDC5C.40208@googlemail.com> (raw)
In-Reply-To: <874n83m8xv.fsf@linux-k42r.v.cablecom.net>
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
next prev parent reply other threads:[~2013-10-27 9:26 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20131024122255.GI9378@mwanda> [not found] ` <20131024122512.GB9534@mwanda> [not found] ` <20131026181709.GB10488@kroah.com> 2013-10-27 1:34 ` [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line Josh Triplett 2013-10-27 5:42 ` Michael Haggerty 2013-10-27 6:37 ` Theodore Ts'o 2013-10-27 7:14 ` Josh Triplett 2013-10-27 8:03 ` [Ksummit-2013-discuss] " Michel Lespinasse 2013-10-27 9:23 ` Josh Triplett 2013-10-27 8:09 ` Thomas Rast 2013-10-27 9:20 ` Josh Triplett 2013-10-27 10:59 ` Johan Herland 2013-10-27 19:10 ` Christian Couder 2013-10-28 2:46 ` Johan Herland 2013-10-28 22:10 ` Thomas Rast 2013-10-29 2:02 ` Jeff King 2013-10-30 17:53 ` Johan Herland 2013-10-29 6:23 ` Christian Couder 2013-10-30 19:07 ` Johan Herland 2013-11-02 12:54 ` Christian Couder 2013-10-27 9:26 ` Stefan Beller [this message] 2013-10-27 16:30 ` Thomas Rast 2013-10-27 17:03 ` Stefan Beller 2013-10-31 23:03 ` Stefan Beller 2013-10-31 23:04 ` [PATCH] Documentation: add a script to generate a (long/short) options overview Stefan Beller 2013-10-31 23:09 ` Stefan Beller 2013-10-31 23:45 ` brian m. carlson 2013-11-01 0:09 ` Junio C Hamano 2013-10-28 9:02 ` [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line Michael Haggerty 2013-10-28 11:29 ` Johan Herland 2013-10-29 2:08 ` Jeff King 2013-10-29 8:26 ` Matthieu Moy 2013-10-30 18:12 ` Johan Herland 2013-10-31 6:28 ` Duy Nguyen 2013-10-31 17:20 ` Junio C Hamano 2013-10-31 23:52 ` Duy Nguyen 2013-11-01 0:16 ` Johan Herland 2013-10-27 8:33 ` Duy Nguyen 2013-10-27 9:13 ` Josh Triplett 2013-10-28 0:49 ` Jim Hill 2013-10-28 1:52 ` Junio C Hamano 2013-10-28 7:16 ` Josh Triplett 2013-10-28 8:27 ` Michael Haggerty 2013-10-28 8:59 ` [ksummit-attendees] " Christoph Hellwig 2013-10-28 23:09 ` Benjamin Herrenschmidt 2013-10-28 23:38 ` Russell King - ARM Linux 2013-10-28 23:41 ` Russell King - ARM Linux 2013-10-28 9:08 ` Junio C Hamano 2013-10-29 4:45 ` Christian Couder 2013-10-29 19:54 ` Junio C Hamano 2013-10-30 17:28 ` Tony Luck 2013-10-30 18:33 ` Junio C Hamano
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=526CDC5C.40208@googlemail.com \ --to=stefanbeller@googlemail.com \ --cc=dan.carpenter@oracle.com \ --cc=git@vger.kernel.org \ --cc=greg@kroah.com \ --cc=josh@joshtriplett.org \ --cc=ksummit-2013-discuss@lists.linuxfoundation.org \ --cc=ksummit-attendees@lists.linuxfoundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mhagger@alum.mit.edu \ --cc=tr@thomasrast.ch \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).