threads / discuss / 24208

Unexpected error: short SHA1 is ambiguous

Subject: Unexpected error: short SHA1 is ambiguous

## tl;dr

4 messages between Jun 27, 2010 and Jun 27, 2010.

replies: 3people: 3as markdown or json

Jay Soffian· Jun 27, 2010, 02:16 UTC · lore
In my copy of git.git:

$ git rev-list aabb^0 -- error: short SHA1 aabb is ambiguous. fatal: bad revision 'aabb'

$ git rev-list --all --objects | grep ^aabb aabb2e515c334cbca9d9ae9873a188cef2c9b3ba aabb9750fddbc28091c46780ccf7b835b62b04c7 Documentation/hooks.txt aabb1bcbe2b8ce00ced1a749cbab5c1646e0e1f2 Documentation

So a couple things:
1. Since I restricted to commits with ^0, and there's only one such
commit, shouldn't rev-list give me what I want? (rev-parse similarly
fails).
2. Shouldn't rev-list spit out whatever matches, even if it's
ambiguous? (I can understand that rev-parse wouldn't, but rev-list,
well, I expect a list of SHA1s from it.)
j.
Nicolas Pitre· Jun 27, 2010, 03:35 UTC · re: Jay Soffian · lore

Re: Unexpected error: short SHA1 is ambiguous

On Sat, 26 Jun 2010, Jay Soffian wrote:
Show 16 quoted lines
> In my copy of git.git:
> 
> $ git rev-list aabb^0 --
> error: short SHA1 aabb is ambiguous.
> fatal: bad revision 'aabb'
> 
> $ git rev-list --all --objects | grep ^aabb
> aabb2e515c334cbca9d9ae9873a188cef2c9b3ba
> aabb9750fddbc28091c46780ccf7b835b62b04c7 Documentation/hooks.txt
> aabb1bcbe2b8ce00ced1a749cbab5c1646e0e1f2 Documentation
> 
> So a couple things:
> 
> 1. Since I restricted to commits with ^0, and there's only one such
> commit, shouldn't rev-list give me what I want? (rev-parse similarly
> fails).

No, the ^0 is not restricting anything. It merely says you want to walk through zero parents from the specified commit, but the commit specification is ambiguous (3 possibilities exist).

> 2. Shouldn't rev-list spit out whatever matches, even if it's
> ambiguous? (I can understand that rev-parse wouldn't, but rev-list,
> well, I expect a list of SHA1s from it.)

rev-list will give you a range of commits. But again, which range do you want? There are 3 possible starting points when only specifying aabb.

Nicolas
Jay Soffian· Jun 27, 2010, 04:02 UTC · re: Nicolas Pitre · lore

Re: Unexpected error: short SHA1 is ambiguous

On Sat, Jun 26, 2010 at 11:35 PM, Nicolas Pitre <nico@fluxnic.net> wrote:
> No, the ^0 is not restricting anything.  It merely says you want to walk
> through zero parents from the specified commit, but the commit
> specification is ambiguous (3 possibilities exist).
Okay.
> rev-list will give you a range of commits.  But again, which range do
> you want? There are 3 possible starting points when only specifying
> aabb.

I see. Well, I guess I'd wanted something like "rev-list --no-walk --all-matches <ambiguous SHA-1>" as a way to say "return everything even if it isn't canonical".

In any case, I found a better way to go about what I was trying to do.
Thanks,
j.
Andreas Schwab· Jun 27, 2010, 19:02 UTC · re: Nicolas Pitre · lore

Re: Unexpected error: short SHA1 is ambiguous

Nicolas Pitre <nico@fluxnic.net> writes:
Show 8 quoted lines
> On Sat, 26 Jun 2010, Jay Soffian wrote:
>> 1. Since I restricted to commits with ^0, and there's only one such
>> commit, shouldn't rev-list give me what I want? (rev-parse similarly
>> fails).
>
> No, the ^0 is not restricting anything.  It merely says you want to walk 
> through zero parents from the specified commit, but the commit 
> specification is ambiguous (3 possibilities exist).

But ^0 can only be applied to a commit, and only one commit matches aabb.

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

← back to recent threads