Subject: bug#36371: closed (Re: bug#36371: guix build --with-git-reference=…)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 26 Jul 2019 10:39:02 +0000

Your bug report

#36371: '--with-commit' does not support tags

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

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

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

Subject: Re: bug#36371: guix build --with-git-reference=…
From: Ludovic Courtès <[email-masked]>
To: Tobias Geerinckx-Rice <[email-masked]>
Cc: [email-masked]
Date: Fri, 26 Jul 2019 12:38:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

Ludovic Courtès <[email-masked]> skribis:

> $ guix build guile-gcrypt --with-commit=guile-gcrypt=v1.0.0
> updating checkout of 'https://notabug.org/cwebber/guile-gcrypt.git'...
> guix build: error: cannot fetch commit v1.0.0 from https://notabug.org/cwebber/guile-gcrypt.git: unable to parse OID - contains invalid characters
>
> Internally, that uses the ‘git-checkout’ record type defined in (guix
> git).
>
> What I would propose is to change ‘git-checkout-compiler’ so that it can
> determine with a simple heuristic like that of (@@ (guix swh) commit-id?)
> whether the string denotes a commit ID or a tag.

Done in 177fecb57c0c9e15249bf6a49244c9dc6eb8439c.

Thanks,
Ludo’.

Subject: guix build --with-git-reference=…
From: Tobias Geerinckx-Rice <[email-masked]>
To: [email-masked]
Date: Tue, 25 Jun 2019 11:24:33 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Guix,

bricewge on #guix informed me that there's no way to pass a git 
tag as source transformation option.  Indeed:

  ‘--with-commit=PACKAGE=COMMIT’
     This is similar to ‘--with-branch’, except that it builds 
     from
     COMMIT rather than the tip of a branch.  COMMIT must be a 
     valid Git
     commit SHA1 identifier.

is quite different from (guix git-download)'s pleasantly liberal 
notion of commit:

  (git reference
    (url "git://foo.org/fizbo")
    (commit "fizbo-4.5"))      ; tag yay

bricewge suggested that a single ‘--with-git-ref[erence]=’ could 
replace both ‘--with-branch’ and a new ‘--with-tag’, and I agree. 
(Although I prefer the full spelling, of course :-)

Two questions:
- Is this really not supported yet, or am I missing the obvious?
- Why is the (extremely) git-specific ‘--with-commit=’ option not 
  called ‘--with-git-commit=’?  Was it intended to be more generic 
  than it is now?  Should the new option be ‘--with-reference=’ as 
  well?  That's pushing it a little far.  And three questions in 
  one; I'm cheating.

Kind regards,

T G-R