# Possible bug in --short option of git-rev-list

3 messages from 2007-04-21 to 2007-04-21. Participants: Marco Costalba, Junio C Hamano.
Thread: https://gitlist.dev/t/7765

## Marco Costalba, 2007-04-21 09:32

Subject: Possible bug in --short option of git-rev-list
Message-ID: <e5bfff550704210232v7a214aa7jc5f55fe26edbf8e3@mail.gmail.com>
URL: https://gitlist.dev/e/e5bfff550704210232v7a214aa7jc5f55fe26edbf8e3%40mail.gmail.com

```
>From git tree

$ git rev-parse v1.5.1.1 HEAD
c5ec6d00eb063f547e314fdf8a1d8cf09472da6b
744747ef1d75c85fb3a1785cb08d36497128d3d3
$ git rev-parse --short v1.5.1.1 HEAD
c5ec6d0
744747e
fatal: Needed a single revision
$

Output is correct, but at the end an (bogus?) error is reported an
git-rev-parse command exits with error code.

Marco

```

## Junio C Hamano, 2007-04-21 09:34

Subject: Re: Possible bug in --short option of git-rev-list
Message-ID: <7vps5yul49.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vps5yul49.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <e5bfff550704210232v7a214aa7jc5f55fe26edbf8e3@mail.gmail.com>

```
"Marco Costalba" <mcostalba@gmail.com> writes:

> From git tree
>
> $ git rev-parse v1.5.1.1 HEAD
> c5ec6d00eb063f547e314fdf8a1d8cf09472da6b
> 744747ef1d75c85fb3a1785cb08d36497128d3d3
> $ git rev-parse --short v1.5.1.1 HEAD
> c5ec6d0
> 744747e
> fatal: Needed a single revision
> $
>
> Output is correct, but at the end an (bogus?) error is reported an
> git-rev-parse command exits with error code.

Short is abbrev + verify.  This is not new.

```

## Marco Costalba, 2007-04-21 10:03

Subject: Re: Possible bug in --short option of git-rev-list
Message-ID: <e5bfff550704210303u195c6c3cub0df34b5e862a0c5@mail.gmail.com>
URL: https://gitlist.dev/e/e5bfff550704210303u195c6c3cub0df34b5e862a0c5%40mail.gmail.com
In-Reply-To: <7vps5yul49.fsf@assigned-by-dhcp.cox.net>

```
On 4/21/07, Junio C Hamano <junkio@cox.net> wrote:
>
> Short is abbrev + verify.  This is not new.
>

In my implementation I pass command line arguments first to
git-rev-parse, and the output of git-rev-parse is then used to feed
git-rev-list, that starts loading of revisions.

The problem I found is that output of git-rev-parse could be veeery
long, as example in git tree:

$ git rev-parse --all | wc
    144     144    5904

When running qgit --all on a repo with hundreds of tags this could
lead to very long command line arguments for git-rev-list so to break
platform limits. One idea to *hide* this problem was to get only the
short version of a sha so to go from 40 to 7 chars and reduce command
line size of about 6 times.

Of course the *real* solution would be to pass qgit command line
arguments directly to git-rev-list and skip git-rev-parse altogether.

My question is: In case I skip git-rev-parse and feed directly
git-rev-list with command line arguments, there is some compatibility
break in current behaviour? In other words there are some command line
arguments 'args' for whom

                              git-rev-list args != git rev-parse args
| git rev-list


Thanks
Marco

```
