[PATCH] import: git: Do not search pre-release words in tag prefix.

  • Open
  • quality assurance status badge
Details
One participant
  • iyzsong
Owner
unassigned
Submitted by
iyzsong
Severity
normal
I
I
iyzsong wrote 3 days ago
(address . guix-patches@gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
98d422b8ec544458719b20d6a8ff85cc1f681f10.1736230582.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

This fixes tags like 'xfce4-dev-tools-4.20.0'.

* tests/import-git.scm ("latest-git-tag-version: prefix contains pre-release
words"): New test.
* guix/import/git.scm (latest-tag): Don't filter out pre-releases tags.
(version-mapping): Filter out pre-releases tags from versions.
* gnu/packages/xfce.scm (garcon, thunar-archive-plugin, xfce4-dev-tools):
Remove FIXME comments for the 'generic-git' updater.

Change-Id: I7683200fa451d7fad153aa08fa9d5761688de01d
---
gnu/packages/xfce.scm | 3 ---
guix/import/git.scm | 17 +++++++++--------
tests/import-git.scm | 9 +++++++++
3 files changed, 18 insertions(+), 11 deletions(-)

Toggle diff (88 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index c5e5009ccf..95520b9c22 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -374,7 +374,6 @@ (define-public garcon
library called libxfce4menu, which, in contrast to garcon, was lacking menu
merging features essential for loading menus modified with menu editors.")
(license lgpl2.0+)
- ;; FIXME: the 'generic-git' updater treat "rc" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public tumbler
@@ -894,7 +893,6 @@ (define-public thunar-archive-plugin
(description "The Thunar Archive Plugin allows you to create and extract
archive files using the file context menus in the Thunar file manager.")
(license gpl2+)
- ;; FIXME: the 'generic-git' updater treat "rc" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(define-public thunar-shares-plugin
@@ -2417,5 +2415,4 @@ (define-public xfce4-dev-tools
developers and people that want to build Xfce from Git In addition it contains
the Xfce developer's handbook.")
(license gpl2+)
- ;; FIXME: the 'generic-git' updater treat "dev" as pre-releases.
(properties `((release-tag-prefix . ,(string-append name "-"))))))
diff --git a/guix/import/git.scm b/guix/import/git.scm
index ab51719255..305b2fc43f 100644
--- a/guix/import/git.scm
+++ b/guix/import/git.scm
@@ -138,9 +138,16 @@ (define* (version-mapping tags #:key prefix suffix delim pre-releases?)
(define (entry<? a b)
(eq? (version-compare (car a) (car b)) '<))
+ (define (pre-release? tag)
+ (any (cut regexp-exec <> tag)
+ %pre-release-rx))
+
(stable-sort (filter-map (lambda (tag)
(let ((version (get-version tag)))
- (and version (cons version tag))))
+ (and version
+ (or pre-releases?
+ (not (pre-release? version)))
+ (cons version tag))))
tags)
entry<?))
@@ -149,16 +156,10 @@ (define* (latest-tag url
"Return the latest version and corresponding tag available from the Git
repository at URL. Optionally include a VERSION string to fetch a specific
version."
- (define (pre-release? tag)
- (any (cut regexp-exec <> tag)
- %pre-release-rx))
-
(let* ((tags (map (cut string-drop <> (string-length "refs/tags/"))
(remote-refs url #:tags? #t)))
(versions->tags
- (version-mapping (if pre-releases?
- tags
- (filter (negate pre-release?) tags))
+ (version-mapping tags
#:prefix prefix
#:suffix suffix
#:delim delim
diff --git a/tests/import-git.scm b/tests/import-git.scm
index 20255dedb3..6dd8ad1649 100644
--- a/tests/import-git.scm
+++ b/tests/import-git.scm
@@ -224,4 +224,13 @@ (define* (make-package directory version #:optional (properties '()))
(let ((package (make-package directory "1.0.0")))
(latest-git-tag-version package))))
+(test-equal "latest-git-tag-version: prefix contains pre-release words"
+ "1.0.1"
+ (with-temporary-git-repository directory
+ '((add "a.txt" "A")
+ (commit "First commit")
+ (tag "libdevx-1.0.1" "Release 1.0.1"))
+ (let ((package (make-package directory "1.0.0")))
+ (latest-git-tag-version package))))
+
(test-end "git")

base-commit: 329daafcc3c798dd180fd98ff757452e3e016235
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75418@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75418
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch