<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/3a51b56327f963b7ac57fe3dda52198762cdd899">https://github.com/macports/macports-base/commit/3a51b56327f963b7ac57fe3dda52198762cdd899</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 3a51b5632 selfupdate: recheck version of source if from rsync
</span>3a51b5632 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3a51b56327f963b7ac57fe3dda52198762cdd899
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Jul 16 04:56:35 2024 +1000

<span style='display:block; white-space:pre;color:#404040;'>    selfupdate: recheck version of source if from rsync
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It's possible for RELEASE_URL to be downloaded from GitHub before rsync
</span><span style='display:block; white-space:pre;color:#404040;'>    has the new base release.
</span>---
 src/macports1.0/selfupdate.tcl | 45 +++++++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 20 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/selfupdate.tcl b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index ea33d72f3..7c50a903d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -591,31 +591,36 @@ proc selfupdate::main {{options {}} {updatestatusvar {}}} {
</span>         } else {
             ui_msg "$ui_prefix MacPorts base is outdated, installing new version $macports_version_new"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {!$rsync_fetched} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {!$prefer_rsync} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    macports_try -pass_signal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set source_code [download_source $mp_source_path $macports_version_new]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    } on error {eMessage} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ui_debug "download_source failed: $eMessage"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        set source_code [download_source_rsync]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set source_code [download_source_rsync]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!$rsync_fetched && !$prefer_rsync} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                macports_try -pass_signal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set source_code [download_source $mp_source_path $macports_version_new]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } on error {eMessage} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_debug "download_source failed: $eMessage"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set prefer_rsync 1
</span>                 }
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            install $source_code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[info exists updatestatus]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                dict set updatestatus base_updated yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$prefer_rsync} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set source_code [download_source_rsync]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set macports_version_downloaded [get_current_version_from_sources $source_code]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set comp [vercmp $macports_version_downloaded $macports_version]
</span>             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$use_the_force_luke || $comp > 0 || ($comp == 0 && $migrating)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                install $source_code
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Keep sources for future syncing if preferring rsync
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {!$prefer_rsync} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                cleanup_sources $mp_source_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists updatestatus]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    dict set updatestatus base_updated yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Keep sources for future syncing if preferring rsync
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {!$prefer_rsync} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    cleanup_sources $mp_source_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Return here, port.tcl will re-execute selfupdate with the updated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # base to trigger sync and portindex with the new version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_msg "$ui_prefix HTTP download failed and rsync does not yet have version $macports_version_new"
</span>             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Return here, port.tcl will re-execute selfupdate with the updated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # base to trigger sync and portindex with the new version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return 0
</span>         }
     } elseif {$comp < 0} {
         ui_msg "$ui_prefix MacPorts base is probably master or a release candidate"
</pre><pre style='margin:0'>

</pre>