git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* git commit --amen
@ 2012-10-04 14:10 Romain Vimont (®om)
  2012-10-04 14:25 ` Phil Hord
  0 siblings, 1 reply; 7+ messages in thread
From: Romain Vimont (®om) @ 2012-10-04 14:10 UTC (permalink / raw)
  To: git

Hi,

Is it normal that "git commit --amen" actually works ?
(it does like --amend)

version 1.7.10.4

®om

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 14:10 git commit --amen Romain Vimont (®om)
@ 2012-10-04 14:25 ` Phil Hord
  2012-10-04 14:38   ` Romain Vimont (®om)
  2012-10-04 16:52   ` Junio C Hamano
  0 siblings, 2 replies; 7+ messages in thread
From: Phil Hord @ 2012-10-04 14:25 UTC (permalink / raw)
  To: Romain Vimont (®om); +Cc: git

> Is it normal that "git commit --amen" actually works ?
> (it does like --amend)
>
> version 1.7.10.4

Yes.  From Documentation/technical/api-parse-options.txt:

    * Long options may be 'abbreviated', as long as the abbreviation
      is unambiguous.

Apparently since 2008-06-22.

So 'git commit --am' also works.  But it should probably be avoided
because of its similarity to 'git commit -am'.

Phil

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 14:25 ` Phil Hord
@ 2012-10-04 14:38   ` Romain Vimont (®om)
  2012-10-04 14:57     ` Erik Faye-Lund
  2012-10-04 16:52   ` Junio C Hamano
  1 sibling, 1 reply; 7+ messages in thread
From: Romain Vimont (®om) @ 2012-10-04 14:38 UTC (permalink / raw)
  To: Phil Hord; +Cc: git

Great !
Thank you for your answer ;-)

It does not seem to work with git diff:
git diff --cache     #missing d
git diff --cumulativ #missing e

®om

Le 2012-10-04 16:25, Phil Hord a écrit :
>> Is it normal that "git commit --amen" actually works ?
>> (it does like --amend)
>>
>> version 1.7.10.4
>
> Yes.  From Documentation/technical/api-parse-options.txt:
>
>     * Long options may be 'abbreviated', as long as the abbreviation
>       is unambiguous.
>
> Apparently since 2008-06-22.
>
> So 'git commit --am' also works.  But it should probably be avoided
> because of its similarity to 'git commit -am'.
>
> Phil

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 14:38   ` Romain Vimont (®om)
@ 2012-10-04 14:57     ` Erik Faye-Lund
  2012-10-04 16:52       ` Junio C Hamano
  0 siblings, 1 reply; 7+ messages in thread
From: Erik Faye-Lund @ 2012-10-04 14:57 UTC (permalink / raw)
  To: Romain Vimont (®om); +Cc: Phil Hord, git

On Thu, Oct 4, 2012 at 4:38 PM, Romain Vimont (®om) <rom@rom1v.com> wrote:
> Great !
> Thank you for your answer ;-)
>
> It does not seem to work with git diff:
> git diff --cache     #missing d
> git diff --cumulativ #missing e

This is because git-diff doesn't yet use the parse-options API, but
instead does ad-hoc parsing.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 14:25 ` Phil Hord
  2012-10-04 14:38   ` Romain Vimont (®om)
@ 2012-10-04 16:52   ` Junio C Hamano
  2012-10-04 17:13     ` Junio C Hamano
  1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2012-10-04 16:52 UTC (permalink / raw)
  To: Phil Hord; +Cc: Romain Vimont (®om), git

Phil Hord <phil.hord@gmail.com> writes:

>> Is it normal that "git commit --amen" actually works ?
>> (it does like --amend)
>>
>> version 1.7.10.4
>
> Yes.  From Documentation/technical/api-parse-options.txt:
>
>     * Long options may be 'abbreviated', as long as the abbreviation
>       is unambiguous.
>
> Apparently since 2008-06-22.

Notice "technical/api-" part; that is a _wrong_ documentation page
to quote to end users.

Instead quote from "git help cli".

       From the git 1.5.4 series and further, many git commands (not
       all of them at the time of the writing though) come with an
       enhanced option parser.

> So 'git commit --am' also works.  But it should probably be avoided
> because of its similarity to 'git commit -am'.

Yes, in general, you should avoid relying on shortened form
working.  Git 2.4 may add an option "--amen" that has totally
different meaning.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 14:57     ` Erik Faye-Lund
@ 2012-10-04 16:52       ` Junio C Hamano
  0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2012-10-04 16:52 UTC (permalink / raw)
  To: kusmabite; +Cc: Romain Vimont (®om), Phil Hord, git

Erik Faye-Lund <kusmabite@gmail.com> writes:

> On Thu, Oct 4, 2012 at 4:38 PM, Romain Vimont (®om) <rom@rom1v.com> wrote:
>> Great !
>> Thank you for your answer ;-)
>>
>> It does not seem to work with git diff:
>> git diff --cache     #missing d
>> git diff --cumulativ #missing e
>
> This is because git-diff doesn't yet use the parse-options API,...

That is more like "it predates parse-options".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git commit --amen
  2012-10-04 16:52   ` Junio C Hamano
@ 2012-10-04 17:13     ` Junio C Hamano
  0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2012-10-04 17:13 UTC (permalink / raw)
  To: Phil Hord; +Cc: Romain Vimont (®om), git

Junio C Hamano <gitster@pobox.com> writes:

> Phil Hord <phil.hord@gmail.com> writes:
>
>>> Is it normal that "git commit --amen" actually works ?
>>> (it does like --amend)
>>>
>>> version 1.7.10.4
>>
>> Yes.  From Documentation/technical/api-parse-options.txt:
>>
>>     * Long options may be 'abbreviated', as long as the abbreviation
>>       is unambiguous.
>>
>> Apparently since 2008-06-22.
>
> Notice "technical/api-" part; that is a _wrong_ documentation page
> to quote to end users.
>
> Instead quote from "git help cli".
>
>        From the git 1.5.4 series and further, many git commands (not
>        all of them at the time of the writing though) come with an
>        enhanced option parser.
>
>> So 'git commit --am' also works.  But it should probably be avoided
>> because of its similarity to 'git commit -am'.
>
> Yes, in general, you should avoid relying on shortened form
> working.  Git 2.4 may add an option "--amen" that has totally
> different meaning.

Perhaps a patch along this line might not hurt.

 Documentation/gitcli.txt | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git i/Documentation/gitcli.txt w/Documentation/gitcli.txt
index f6ba90c..3bc1500 100644
--- i/Documentation/gitcli.txt
+++ w/Documentation/gitcli.txt
@@ -93,7 +93,7 @@ ENHANCED OPTION PARSER
 From the git 1.5.4 series and further, many git commands (not all of them at the
 time of the writing though) come with an enhanced option parser.
 
-Here is an exhaustive list of the facilities provided by this option parser.
+Here is a list of the facilities provided by this option parser.
 
 
 Magic Options
@@ -137,6 +137,16 @@ options. This means that you can for example use `git rm -rf` or
 `git clean -fdx`.
 
 
+Abbreviating long options
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Commands that support the enhanced option parser accepts unique
+prefix of a long option as if it is fully spelled out, but use this
+with a caution.  For example, `git commit --amen` behaves as if you
+typed `git commit --amend`, but that is true only until a later version
+of Git introduces another option that shares the same prefix,
+e.g `git commit --amenity" option.
+
+
 Separating argument from the option
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 You can write the mandatory option parameter to an option as a separate

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-04 22:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-04 14:10 git commit --amen Romain Vimont (®om)
2012-10-04 14:25 ` Phil Hord
2012-10-04 14:38   ` Romain Vimont (®om)
2012-10-04 14:57     ` Erik Faye-Lund
2012-10-04 16:52       ` Junio C Hamano
2012-10-04 16:52   ` Junio C Hamano
2012-10-04 17:13     ` Junio C Hamano

Code repositories for project(s) associated with this 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).