<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch vcs-fetch
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/0435378482344f8c69c6df450375e7c3d38d44dd">https://github.com/macports/macports-base/commit/0435378482344f8c69c6df450375e7c3d38d44dd</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0435378482344f8c69c6df450375e7c3d38d44dd
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Sun Apr 15 19:49:03 2018 +0200

<span style='display:block; white-space:pre;color:#404040;'>    fetch: Try mirrors first before fetching from VCS
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    First try to download from mirrors before fetching from VCS to generate
</span><span style='display:block; white-space:pre;color:#404040;'>    a new tarball. To avoid hitting any mirrors at all, for example when
</span><span style='display:block; white-space:pre;color:#404040;'>    working on a port update, use 'port fetch --no-mirrors'.
</span>---
 src/port1.0/portfetch.tcl | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portfetch.tcl b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index c3cefaf..08fdf52 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1072,16 +1072,19 @@ proc portfetch::fetch_addfilestomap {filemapname} {
</span> 
 # Initialize fetch target and call checkfiles.
 proc portfetch::fetch_init {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global fetch.type distname all_dist_files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global fetch.type distname all_dist_files global_mirror_site ports_fetch_no-mirrors license
</span>     variable fetch_urls
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    portfetch::checkfiles fetch_urls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     if {[tarballable]} {
         global ${fetch.type}.file
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend all_dist_files [set ${fetch.type}.file]
</span>         distfiles-append [set ${fetch.type}.file]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {(![info exists ports_fetch_no-mirrors] || ${ports_fetch_no-mirrors} eq "no") \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                && [lsearch -exact -nocase $license "nomirror"] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            master_sites-append $global_mirror_site
</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;'>+    portfetch::checkfiles fetch_urls
</span> }
 
 proc portfetch::fetch_start {args} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1125,16 +1128,20 @@ proc portfetch::fetch_main {args} {
</span>         return 0
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Fetch the files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    switch -- "${fetch.type}" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        bzr     { bzrfetch }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        cvs     { cvsfetch }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        svn     { svnfetch }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        git     { gitfetch }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        hg      { hgfetch }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {portfetch::fetchfiles} result erropts]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![tarballable]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -options $erropts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${fetch.type} eq "standard" || ${fetch.type} eq "default" || [info exists patchfiles]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return [portfetch::fetchfiles]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Fetch the files from VCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    switch -- "${fetch.type}" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        bzr     { set result [bzrfetch] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cvs     { set result [cvsfetch] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        svn     { set result [svnfetch] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        git     { set result [gitfetch] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        hg      { set result [hgfetch] }
</span>     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return $result
</span> }
</pre><pre style='margin:0'>

</pre>