[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#62712] [PATCH 0/2] Disable keyword expansion for Subversion downloa

From: Ludovic Courtès
Subject: [bug#62712] [PATCH 0/2] Disable keyword expansion for Subversion downloads
Date: Sat, 08 Apr 2023 23:23:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi Timothy!

Timothy Sample <> skribis:

> Whoops!  I guess I was a little slow getting my patch in.

No problem!  I had it on my to-do list.

> I’ve highlighted a few sources you missed below, as well as attached
> my patch (for comparison and for listing the new hashes of the missing
> sources).

Oh, good that you were able to find some more!

> I generated a big diff for all 17 sources that I found (mostly because
> it excites me that Guix can do stuff like that).  Basically all the
> changes were boring (as we expected).


> For “texlive-scripts”, I added a phase that approximates keyword
> expansion for the few scripts that use it to output version information.
> It‘s not exactly the same as what Subversion does.  Subversion uses the
> last revision that updated the given file, and I just use
> ‘%texlive-revision’ for every file.  I’m not too attached to this
> approach, but it felt like the right thing to do.

I wouldn’t mind doing nothing, but what you did sounds good.

>> The second patch makes ‘recursive?’ default to #f, which AFAICS is
>> what all the SVN-using packages that were not explicit expected (no
>> changes required).
> I also carefully checked turning recursion off by default.  I’m
> confident that nothing changes.

Excellent.  I’ll push it to ‘master’.

>>From 19c14a09e9e1d92a1035d15dbbb8d12fb3b59d17 Mon Sep 17 00:00:00 2001
> From: Timothy Sample <>
> Date: Wed, 5 Apr 2023 13:46:28 -0600
> Subject: [PATCH] svn-download: Do not expand keywords.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> See <>.

For posterity, you can add something along the lines of what I had:

  Subversion keyword expansion is potentially non-reproducible as some of
  them expand time strings relative to the local time zone:

  In practice this is not a problem in Guix since Subversion checkouts
  happen in an isolated environment using the "default timezone" (UTC).

  However, Software Heritage disables keyword expansion for this very
  reason.  By following suit, we make sure content can be retrieved from

> +           ;; Disable keyword substitution (keywords are CVS-like strings
> +           ;; like "$Date$", "$Id$", and so on).
> +           "--ignore-keywords"


+           ;; Disable keyword substitutions (keywords are CVS-like strings
+           ;; like "$Date$", "$Id$", and so on) for two reasons: (1) some
+           ;; expansions depend on the local time zone, and (2) SWH disables
+           ;; it in its archive for this very reason.
+           "--ignore-keywords"

Chris, should we get it built on qa.guix?  It’s on the order of 7K
rebuilds per architecture since ‘texlive-bin’ is modified.
Alternatively we can set up ci.guix for it, if you think it’s more
appropriate resource-wise.



PS: I’ll be AFK for the next few days.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]