Subject: [bug#65235] [PATCH] refresh: Add --to-version option.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 15 Aug 2023 12:39:48 +0200

Hi Maxim,

Maxim Cournoyer <[email-masked]> skribis:

> * guix/scripts/refresh.scm (%options): Register 'to-version' long version.
> (update-specification->update-spec): Add a fallback-version argument.
> (options->update-specs): Honor to-version option.
> * tests/guix-refresh.sh: Test it.
> * doc/guix.texi (Invoking guix refresh): Document it.

[...]

> +In some specific cases, you may have many packages specified via a
> +manifest or a module selection which should all be updated together; for
> +these cases, the @option{--to-version} option can be provided to have
> +them all refreshed to the same version, as shown in the examples below:
> +
> +@example
> +$ guix refresh qtbase qtdeclarative --to-version=6.5.2
> +gnu/packages/qt.scm:1248:13: qtdeclarative would be upgraded from 6.3.2 to 6.5.2
> +gnu/packages/qt.scm:584:2: qtbase would be upgraded from 6.3.2 to 6.5.2
> +@end example
> +
> +@example
> +$ guix refresh --manifest=qt5-manifest.scm --to-version=5.15.10
> +gnu/packages/qt.scm:1173:13: qtxmlpatterns would be upgraded from 5.15.8 to 5.15.10
> +gnu/packages/qt.scm:1202:13: qtdeclarative would be upgraded from 5.15.8 to 5.15.10
> +gnu/packages/qt.scm:1762:13: qtserialbus would be upgraded from 5.15.8 to 5.15.10
> +gnu/packages/qt.scm:2070:13: qtquickcontrols2 would be upgraded from 5.15.8 to 5.15.10
> +@dots{}
> +@end example

So the main goal is to avoid repeating the ‘=’ sign as in
‘qtbase=6.5.2’, right?  That makes a lot of sense to me.

I’d maybe prefer ‘--target-version’ but otherwise LGTM!

Thanks,
Ludo’.