* bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 @ 2023-05-28 15:16 Janneke Nieuwenhuizen 2023-05-30 15:25 ` Simon Tournier 2024-01-31 20:08 ` Jonathan Brielmaier via Bug reports for GNU Guix 0 siblings, 2 replies; 5+ messages in thread From: Janneke Nieuwenhuizen @ 2023-05-28 15:16 UTC (permalink / raw) To: 63775 Hi! Subject says it all: --8<---------------cut here---------------start------------->8--- 17:12:25 janneke@drakenpad:~/src/guix/master [env] $ git fetch origin 17:12:56 janneke@drakenpad:~/src/guix/master [env] $ git fetch origin --tags 17:13:04 janneke@drakenpad:~/src/guix/master [env] $ git reset --hard origin/master HEAD is now at 6192acf8b7 gnu: telegram-desktop: Update to 4.8.1 17:13:09 janneke@drakenpad:~/src/guix/master [env] $ git describe v1.3.0-38775-g6192acf8b7 --8<---------------cut here---------------end--------------->8--- (There was a question on IRC by cassio: "How do I upgrade to 1.4", but I don't see it in the channel logs yet). Greetings, Janneke -- Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 2023-05-28 15:16 bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 Janneke Nieuwenhuizen @ 2023-05-30 15:25 ` Simon Tournier 2023-06-08 13:58 ` Giovanni Biscuolo 2024-01-31 20:08 ` Jonathan Brielmaier via Bug reports for GNU Guix 1 sibling, 1 reply; 5+ messages in thread From: Simon Tournier @ 2023-05-30 15:25 UTC (permalink / raw) To: Janneke Nieuwenhuizen, 63775 Hi, On dim., 28 mai 2023 at 17:16, Janneke Nieuwenhuizen <janneke@gnu.org> wrote: > --8<---------------cut here---------------start------------->8--- > 17:12:25 janneke@drakenpad:~/src/guix/master [env] > $ git fetch origin > 17:12:56 janneke@drakenpad:~/src/guix/master [env] > $ git fetch origin --tags > 17:13:04 janneke@drakenpad:~/src/guix/master [env] > $ git reset --hard origin/master > HEAD is now at 6192acf8b7 gnu: telegram-desktop: Update to 4.8.1 > 17:13:09 janneke@drakenpad:~/src/guix/master [env] > $ git describe > v1.3.0-38775-g6192acf8b7 > --8<---------------cut here---------------end--------------->8--- Oh, that’s weird! --8<---------------cut here---------------start------------->8--- $ git describe --debug describe HEAD No exact match on refs or tags, searching to describe annotated 38817 v1.3.0 annotated 38831 v1.3.0rc2 annotated 38870 v1.3.0rc1 annotated 55660 base-for-issue-62196 annotated 55806 v1.2.0 annotated 55814 v1.2.0rc2 annotated 55837 v1.2.0rc1 annotated 55985 v1.4.0 annotated 55998 v1.4.0rc2 annotated 56031 v1.4.0rc1 traversed 56356 commits more than 10 tags found; listed 10 most recent gave up search at d62c9b2671be55ae0305bebfda17b595f33797f2 v1.3.0-38817-g76b7bc5392 $ git rev-list --count v1.3.0..HEAD 38817 --8<---------------cut here---------------end--------------->8--- The manual reads, SEARCH STRATEGY [...] If an exact match was not found, git describe will walk back through the commit history to locate an ancestor commit which has been tagged. The ancestor’s tag will be output along with an abbreviation of the input commit-ish’s SHA-1. If --first-parent was specified then the walk will only consider the first parent of each commit. If multiple tags were found during the walk then the tag which has the fewest commits different from the input commit-ish will be selected and output. Here fewest commits different is defined as the number of commits which would be shown by git log tag..input will be the smallest number of commits possible. And then, --8<---------------cut here---------------start------------->8--- $ git rev-list --count v1.4.0..HEAD 9980 --8<---------------cut here---------------end--------------->8--- Hum, why does “git describe” count 55985? Well, it’s weird, for instance, using my repository, the DAG looks like: --8<---------------cut here---------------start------------->8--- $ git --no-pager log --all --graph --simplify-by-decoration --format="%h %d" * 76b7bc5392 (HEAD -> master) * 2b1b0a580d (origin/master, origin/HEAD) | * ecb19e3353 (origin/tex-team-next) | * bb07562a89 (origin/tex-team) |/ [...] * 45fd01ac5d (tag: base-for-issue-62196) [...] | * d8abcffda5 (origin/wip-guile-ssh-0.16) |/ | * e81a75a7b2 (origin/wip-r) |/ * 989a3916dc (origin/version-1.4.0) * 8e2f32cee9 (tag: v1.4.0) * 7866294e32 (tag: v1.4.0rc2) * 020184fd39 (tag: v1.4.0rc1) | * 7966084069 (origin/wip-aarch64-bootstrap) [...] | * 8d84a9ee71 (origin/version-1.2.0) | | * aa34d4d28d (origin/version-1.3.0) | |/ |/| | | * 592101268f (origin/wip-ppc) | |/ |/| * | a0178d34f5 (tag: v1.3.0) * | 7a65beff0f (tag: v1.3.0rc2) * | 0d353b06ec (tag: v1.3.0rc1) |/ | * fafad6b17c (origin/wip-node-importer) --8<---------------cut here---------------end--------------->8--- Therefore, I would be expecting that the tag ’base-for-issue-62196’ would be the output of “git describe”. > (There was a question on IRC by cassio: "How do I upgrade to 1.4", > but I don't see it in the channel logs yet). Well, about upgrading to 1.4, it depends from which Guix revision. :-) Something like, guix pull --commit=8e2f32cee982d42a79e53fc1e9aa7b8ff0514714 should do the job. And if not, the answer will depend on the current Guix revision which requires an update. Cheers, simon ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 2023-05-30 15:25 ` Simon Tournier @ 2023-06-08 13:58 ` Giovanni Biscuolo 0 siblings, 0 replies; 5+ messages in thread From: Giovanni Biscuolo @ 2023-06-08 13:58 UTC (permalink / raw) To: Simon Tournier, Janneke Nieuwenhuizen, 63775 [-- Attachment #1: Type: text/plain, Size: 2040 bytes --] Hi, thank you Janneke for this report, I thought I had some problem with my working dir magit tells me I'm on "Tag: v1.3.0 (39040)" Simon Tournier <zimon.toutoune@gmail.com> writes: [...] > Oh, that’s weird! > > --8<---------------cut here---------------start------------->8--- > $ git describe --debug > describe HEAD > No exact match on refs or tags, searching to describe > annotated 38817 v1.3.0 > annotated 38831 v1.3.0rc2 > annotated 38870 v1.3.0rc1 > annotated 55660 base-for-issue-62196 > annotated 55806 v1.2.0 > annotated 55814 v1.2.0rc2 > annotated 55837 v1.2.0rc1 > annotated 55985 v1.4.0 > annotated 55998 v1.4.0rc2 > annotated 56031 v1.4.0rc1 > traversed 56356 commits > more than 10 tags found; listed 10 most recent > gave up search at d62c9b2671be55ae0305bebfda17b595f33797f2 > v1.3.0-38817-g76b7bc5392 > > $ git rev-list --count v1.3.0..HEAD > 38817 > --8<---------------cut here---------------end--------------->8--- I have the very same (updated) results: [...] --8<---------------cut here---------------start------------->8--- 0 LC_ALL=C git describe --debug describe HEAD No exact match on refs or tags, searching to describe annotated 39040 v1.3.0 annotated 39054 v1.3.0rc2 annotated 39093 v1.3.0rc1 annotated 55883 base-for-issue-62196 annotated 56029 v1.2.0 annotated 56037 v1.2.0rc2 annotated 56060 v1.2.0rc1 annotated 56208 v1.4.0 annotated 56221 v1.4.0rc2 annotated 56254 v1.4.0rc1 traversed 56579 commits more than 10 tags found; listed 10 most recent gave up search at d62c9b2671be55ae0305bebfda17b595f33797f2 v1.3.0-39040-g76b7c50645 --8<---------------cut here---------------end--------------->8--- (output from magit-process) [...] I'm not so expert in git, still trying to understand how to debug this strange behaviuor Happy hacking! Gio' -- Giovanni Biscuolo Xelera IT Infrastructures [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 849 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 2023-05-28 15:16 bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 Janneke Nieuwenhuizen 2023-05-30 15:25 ` Simon Tournier @ 2024-01-31 20:08 ` Jonathan Brielmaier via Bug reports for GNU Guix 2024-02-03 18:43 ` Giovanni Biscuolo 1 sibling, 1 reply; 5+ messages in thread From: Jonathan Brielmaier via Bug reports for GNU Guix @ 2024-01-31 20:08 UTC (permalink / raw) To: 63775 Hm, I'm hitting this bug while trying to work on the openSUSE package. They offer a way to build RPM packages from the most recent master commit, but it's get the wrong version (1.3.0 instead of 1.4.0) due to this `git describe` result. So in the end the package looks like `guix-1.3.0+git*.rpm` which is a problem, because the normal Guix package is already `guix-1.4.0*.rpm`. RPM then thinks the package is older... ~Jonathan ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 2024-01-31 20:08 ` Jonathan Brielmaier via Bug reports for GNU Guix @ 2024-02-03 18:43 ` Giovanni Biscuolo 0 siblings, 0 replies; 5+ messages in thread From: Giovanni Biscuolo @ 2024-02-03 18:43 UTC (permalink / raw) To: Jonathan Brielmaier, 63775-close; +Cc: guix-devel, Simon Tournier [-- Attachment #1: Type: text/plain, Size: 4262 bytes --] Hi Jonathan, I'm CC'ing guix-devel because I suspect many users who cloned/updated the Guix repo are having the same results... and concerns. This is a git bug, not an issue with our repo, and for this reason (I hope) I'm closing this bug; please see below. Jonathan Brielmaier via Bug reports for GNU Guix <bug-guix@gnu.org> writes: > Hm, I'm hitting this bug while trying to work on the openSUSE package. > They offer a way to build RPM packages from the most recent master > commit, but it's get the wrong version (1.3.0 instead of 1.4.0) due to > this `git describe` result. As pointed out by Simon last June the result of "git describe" is not what users should get given the "Search strategy" documented in the command manual: https://git-scm.com/docs/git-describe#_search_strategy: --8<---------------cut here---------------start------------->8--- If multiple tags were found during the walk then the tag which has the fewest commits different from the input commit-ish will be selected and output. Here fewest commits different is defined as the number of commits which would be shown by git log tag..input will be the smallest number of commits possible. --8<---------------cut here---------------end--------------->8--- The upstream bug report (and a reproducer) is this one: «Subject: [BUG] `git describe` doesn't traverse the graph in topological order» https://lore.kernel.org/git/ZNffWAgldUZdpQcr@farprobe/ Another user also reported the issue and a reproducer: https://public-inbox.org/git/PH0PR08MB773203CE3206B8DEFB172B2F94839@PH0PR08MB7732.namprd08.prod.outlook.com/ The "executive summary" is that "git describe" gets the count of "fewest commits different from the input commit-ish" wrong (see anso previous messages in this thread for details). Anyway, even if this bug was solved, I'd warmly suggest NOT to base the check for the latest stable Guix commit (usually tagged as v[0-9]*) on the result of "git describe". Today, if "guix describe" had no bugs, the correct result would be: "base-for-issue-62196"... AFAIU :-) This is a reproducer: --8<---------------cut here---------------start------------->8--- $ git describe $(git rev-list --tags --max-count=1) base-for-issue-62196 --8<---------------cut here---------------end--------------->8--- To get the value corresponding to the latest tagged version, we should testrict the list of tags to the ones matching the "v[0-9]*" regexp: --8<---------------cut here---------------start------------->8--- $ git describe $(git rev-list --tags="v[0-9]*" --max-count=1) v1.4.0 --8<---------------cut here---------------end--------------->8--- To browse all the tags there is the "git tag" command, for example to have the list and description of every Guix released version: --8<---------------cut here---------------start------------->8--- $ git tag -l "v[0-9]*" --sort=-creatordate -n v1.4.0 GNU Guix 1.4.0. v1.4.0rc2 GNU Guix 1.4.0rc2. v1.4.0rc1 GNU Guix 1.4.0rc1. v1.3.0 GNU Guix 1.3.0. v1.3.0rc2 GNU Guix 1.3.0rc2. v1.3.0rc1 GNU Guix 1.3.0rc1. v1.2.0 GNU Guix 1.2.0. v1.2.0rc2 GNU Guix 1.2.0rc2. v1.2.0rc1 GNU Guix 1.2.0rc1. v1.1.0 GNU Guix 1.1.0. v1.1.0rc2 GNU Guix 1.1.0rc2. v1.1.0rc1 GNU Guix 1.1.0rc1. v1.0.1 GNU Guix 1.0.1. v1.0.0 GNU Guix 1.0.0. v0.16.0 GNU Guix 0.16.0. v0.15.0 GNU Guix 0.15.0. v0.14.0 GNU Guix 0.14.0. v0.13.0 GNU Guix 0.13.0. v0.12.0 GNU Guix 0.12.0 v0.11.0 GNU Guix 0.11.0. v0.10.0 GNU Guix 0.10.0. v0.9.0 GNU Guix 0.9.0. v0.8.3 GNU Guix 0.8.3. v0.8.2 GNU Guix 0.8.2. v0.8.1 GNU Guix 0.8.1. v0.8 GNU Guix 0.8. v0.7 GNU Guix 0.7. v0.6 GNU Guix 0.6. v0.5 GNU Guix 0.5. v0.4 GNU Guix 0.4. v0.3 GNU Guix 0.3. v0.2 GNU Guix 0.2. v0.1 GNU Guix 0.1. v0.0 Guix 0.0, initial announcement. --8<---------------cut here---------------end--------------->8--- HTH! Happy hacking, Gio' -- Giovanni Biscuolo Xelera IT Infrastructures [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 849 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-02-03 18:44 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-28 15:16 bug#63775: git describe on current master says: v1.3.0-38775-g6192acf8b7 Janneke Nieuwenhuizen 2023-05-30 15:25 ` Simon Tournier 2023-06-08 13:58 ` Giovanni Biscuolo 2024-01-31 20:08 ` Jonathan Brielmaier via Bug reports for GNU Guix 2024-02-03 18:43 ` Giovanni Biscuolo
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).