The documentation for the "git describe --abbrev" flag says that the
default value is 7 hexadecimal digits:
https://github.com/git/git/blob/master/Documentation/git-describe.txt#L63
and
https://git-scm.com/docs/git-describe

I have experienced that sometimes I see 7 digits, but other times more.
The behavior seems to have changed in git 2.11.0 ("default abbreviation
length"):
https://github.com/git/git/blob/aeddbfdfa48443c034a9b28b10dfddf2f71b907f/Documentation/RelNotes/2.11.0.txt

I was able to trigger different behavior using a bash script like the one
below:

```sh
#!/bin/bash

DIR=test-git-describe
rm -rf ${DIR}
mkdir ${DIR}
cd ${DIR}
git init

# One-time test results I have seen:
# 10 tags, 10 * 10 commits: 7 hex digits
# 100 tags, 100 * 100 commits: 8 hex digits
FILE=foo
touch ${FILE}
for i in `seq 1 10`; do
    echo ${i} >> ${FILE}
    git add ${FILE}
    git commit -m "Tag update number ${i} to ${FILE}"
    git tag -m "Version 1.0.${i}" -a 1.0.${i}
    for j in `seq 1 10`; do
        echo ${i}-${j} >> ${FILE}
        git add ${FILE}
        git commit -m "Update number ${i}-${j} to ${FILE}"
    done
done
```

Reply via email to