public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
From: Jon TURNEY <jturney@sourceware.org>
To: cygwin-apps-cvs@sourceware.org
Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20200401-27-g6d92f86
Date: Mon, 25 May 2020 17:00:45 +0000 (GMT)	[thread overview]
Message-ID: <20200525170045.3DDFC383E80F@sourceware.org> (raw)




https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=6d92f86649c1bc385949fda0ad74bb644d80fc65

commit 6d92f86649c1bc385949fda0ad74bb644d80fc65
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 25 16:28:59 2020 +0100

    Ignore versions overriden by version: when checking if a hint is stale
    
    When uploading a replacement hint with a version: override, the overriden
    version doesn't exist anymore, so the hint will be considered stale and
    removed.
    
    This causes the upload to fail as movelist validation notices that the
    hint is both uploaded and automatically vaulted.


Diff:
---
 calm/package.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/calm/package.py b/calm/package.py
index 487c3ed..b789f44 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -394,6 +394,8 @@ def read_one_package(packages, p, relpath, dirpath, files, remove, kind):
         # apply a version override
         if 'version' in pvr_hint:
             ovr = pvr_hint['version']
+            # also record the version before the override
+            pvr_hint['original-version'] = vr
         else:
             ovr = vr
 
@@ -1409,7 +1411,14 @@ def stale_packages(packages):
                     else:
                         all_stale[v] = False
 
+        # skip over any versions which have a version: override
+        effective_versions = list(po.hints.keys())
         for v in po.hints:
+            ov = po.hints[v].hints.get('original-version', v)
+            if ov != v and ov in effective_versions:
+                effective_versions.remove(ov)
+
+        for v in effective_versions:
             # if there's a pvr.hint without a fresh source or install of the
             # same version, move it as well
             if all_stale.get(v, True):



                 reply	other threads:[~2020-05-25 17:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200525170045.3DDFC383E80F@sourceware.org \
    --to=jturney@sourceware.org \
    --cc=cygwin-apps-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).