Subject: bug#59011: closed (Re: bug#59011: 29.0.50; change to vc-git-working-revision breaks vc-git-mode-line-string)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 10 Mar 2025 07:11:02 +0000

Your bug report

#59011: 29.0.50; change to vc-git-working-revision breaks vc-git-mode-line-string

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
59011: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59011
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#59011: 29.0.50; change to vc-git-working-revision breaks vc-git-mode-line-string
From: Sean Whitton <[email-masked]>
To: [email-masked]
Date: Mon, 10 Mar 2025 15:10:11 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

On Fri 04 Nov 2022 at 04:34pm GMT, Philip Kaludercic wrote:

> This was already touched on in bug#58709, and I believe it is best to
> revert the change for now.

This was done.

-- 
Sean Whitton

Subject: 29.0.50; change to vc-git-working-revision breaks vc-git-mode-line-string
From: Jonas Bernoulli <[email-masked]>
To: [email-masked]
Cc: Philip Kaludercic <[email-masked]>
Date: Fri, 04 Nov 2022 07:53:48 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Since 307ad210040251ea0de2e7f453350c4497bda874 `vc-git-working-revision'
may return the name of a reference (aka symbolic commit) instead of the
full sha1 hash, as it used to always do.

When that name is shorter than seven characters, then that change breaks
`vc-git-mode-line-string', which expects to be able to extract the first
seven characters of the string returned by `vc-git-working-revision'.

(By the way, it is not correct to abbreviate a commit hash to the first
N characters using (substring hash 0 N).  Even in a small repository
there is a risk that such a naive abbreviation is ambiguous.  Instead of
doing that, one should use Git to perform the abbreviation; that way one
can request an abbreviation of a certain length, and Git will comply --
unless doing that would be ambiguous, in which case it returns a longer
abbreviation.)