(address . bug-guix@gnu.org)
In some cases the "guix import go" command fails when attempting to
checkout the source for a module using a tag which does not exist in
the repo.
Upon further investigation, I have found guix/import/go.scm will use
the version string as tag. While this works most of the time, some
module vendors use a different tagging scheme. For example, the
azure-sdk-for-go repository contains many modules and the version tags
are namespaced by module name.
The tag for version v1.3.0 of azure-sdk-for-go/sdk/storage/azblob is
storage/azblob/v1.3.0.
$ curl -s 'https://proxy.golang.org/github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.3.0.info'
| jq
{
"Version": "v1.3.0",
"Time": "2024-02-12T16:20:44Z",
"Origin": {
"VCS": "git",
"Subdir": "sdk/storage/azblob",
"Ref": "refs/tags/sdk/storage/azblob/v1.3.0",
"Hash": "d5dfa9296a115cc5094b14198b7114a64a490994"
}
}
I have a patch to fix this, but I would like to discuss the approach
before submitting it. Should I reply to this bug report with the
patch?
Here is the backtrace when attempting to run import on storage/azblob
$ guix import go github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
Backtrace:
14 (primitive-load "/home/rfb/.config/guix/current/bin/guix")
In guix/ui.scm:
2324:7 13 (run-guix . _)
2287:10 12 (run-guix-command _ . _)
In guix/scripts/import.scm:
80:6 11 (guix-import . _)
In ice-9/boot-9.scm:
1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/import/go.scm:
116:29 9 (_)
In ice-9/exceptions.scm:
406:15 8 (go-module->guix-package* . _)
In ice-9/boot-9.scm:
1752:10 7 (with-exception-handler _ _ #:unwind? _ # _)
In guix/import/go.scm:
532:19 6 (go-module->guix-package "github.com/Azure/azure-sdk-f…" …)
In guix/git.scm:
295:4 5 (update-cached-checkout _ #:ref _ #:recursive? _ # _ # _ …)
281:19 4 (resolve _)
In git/reference.scm:
60:8 3 (_ _ _)
In git/bindings.scm:
77:2 2 (raise-git-error _)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1683:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1683:16: In procedure raise-exception:
Git error: reference 'refs/tags/v1.3.1' not found