On 2024-09-23, Andreas Enge wrote:
> Am Mon, Sep 23, 2024 at 10:22:28AM +0200 schrieb Konrad Hinsen:
>>   $ guix show -L . sbcl-websocket-driver
>>   name: sbcl-websocket-driver
>>   version: 0.2.0-0.df94496
>>   location: gnu/packages/lisp-xyz.scm:30847:4
>> It looks like Guix picked the larger one by
>> alphanumeric order, which is not a reasonable choice in a development
>> context.
>
> This is exactly the role of the number "-0." in front of the git commit;
> one needs to specify by hand the order of the (non-)releases, as coming
> from here:
> (define-public sbcl-websocket-driver
>   (let ((commit "df94496ecb525d086eeada4f5875975515b7212e")
>         (revision "0"))
>     (package
>      (name "sbcl-websocket-driver")
>      (version (git-version "0.2.0" revision commit))

Rather than picking an arbitrary incremental number, I have in the past
used something based on the results from git describe... e.g. in my
current checkout of guix:

  $ git describe --match=v1.4'*'
  v1.4.0-142685-gfc059c66cf

e.g. 142685 commits past v1.4.0, with the commit fc059c66cf

That should *usually* end up in the correct order, although sometimes
there are surprises. For example, I had to specify --match otherwise it
picked v1.3.0 for some inscrutible git merge-ordering reason.

live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to