From: Johannes Sixt Date: Thu, 31 Jan 2008 10:01:35 GMT Subject: Re: git-push: forced update of tag shows unabbreviated SHA1 Message-ID: <47A19C7F.1060204@viscovery.net> In-Reply-To: <7vsl0ecp3i.fsf@gitster.siamese.dyndns.org> Junio C Hamano schrieb: > Johannes Sixt writes: > >> This is just a cosmetical flaw: >> ... >> To file:///home/jsixt/tmp/foo/B/../A >> + 639669ce44f84417f30842c622064827dda01461...475e55f T -> T (forced update) >> >> Notice that the original SHA1 is not abbreviated. > > I suspect that is because you do not _have_ the original object, > so there is no uniquely usable abbreviation to name the object > in your repository. Yes, you are right. This also happens for a commit. > This obviously is not tested at all (not even compile tested), > but I think it would show you what is going on. > > --- > builtin-send-pack.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/builtin-send-pack.c b/builtin-send-pack.c > index 8afb1d0..9c558ee 100644 > --- a/builtin-send-pack.c > +++ b/builtin-send-pack.c > @@ -265,7 +265,7 @@ static const char *status_abbrev(unsigned char sha1[20]) > { > const char *abbrev; > abbrev = find_unique_abbrev(sha1, DEFAULT_ABBREV); > - return abbrev ? abbrev : sha1_to_hex(sha1); > + return abbrev ? abbrev : ""; > } No, that would be information hiding. I prefer an unabbreviated name. Nevertheless, if we know the name, we could be able to find a suitable abbreviation. But it's really not *that* important... -- Hannes