Subject: [bug#75871] [PATCH 0/1] Partial version support for 'guix refresh --target-version'.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 26 Jan 2025 23:59:33 +0900

Hello,

This adds support for providing incomplete version strings to 'guix refresh
--target-version', for example allowing to do:

$ guix refresh --target-version=46 evince
gnu/packages/gnome.scm:2710:13: evince would be upgraded from 44.3 to 46.3.1

The change looks massive because all the importers are adjusted to support
this, but the adjustments needed are mechanical and simple, hopefully making
the review not overly painful.  The most critical and complex bit may be in
the modified 'rewrite-url' procedure, which is covered by unit tests.

Maxim Cournoyer (1):
  refresh: Add support for partial target versions.

 doc/guix.texi             |  12 +++
 guix/gnu-maintenance.scm  | 120 ++++++++++++++-----------
 guix/import/composer.scm  |  59 ++++++------
 guix/import/cpan.scm      |   2 +-
 guix/import/cran.scm      |   4 +-
 guix/import/crate.scm     |  51 ++++++-----
 guix/import/egg.scm       |  33 +++----
 guix/import/elpa.scm      |   2 +-
 guix/import/gem.scm       |  29 ++++--
 guix/import/git.scm       | 103 +++++++++------------
 guix/import/github.scm    | 114 +++++++++++------------
 guix/import/gnome.scm     |  50 ++++-------
 guix/import/hackage.scm   |   2 +-
 guix/import/hexpm.scm     |  42 +++++----
 guix/import/kde.scm       |  57 ++++++------
 guix/import/launchpad.scm |  36 ++++----
 guix/import/minetest.scm  |   2 +-
 guix/import/opam.scm      |   2 +-
 guix/import/pypi.scm      |  25 ++++--
 guix/import/stackage.scm  |   2 +-
 guix/import/test.scm      |  15 ++--
 guix/import/texlive.scm   |  38 ++++----
 guix/import/utils.scm     |  20 ++++-
 guix/scripts/refresh.scm  | 185 ++++++++++++++++++++------------------
 guix/upstream.scm         |  26 +++---
 tests/gem.scm             |  22 +++++
 tests/gnu-maintenance.scm |  65 +++++++++++---
 tests/guix-refresh.sh     |  10 ++-
 tests/import-git.scm      |   4 +
 29 files changed, 629 insertions(+), 503 deletions(-)

base-commit: be058cf6fcf01be49e98b8a646e1ffdb34130db6
-- 
2.47.1