<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[152661] branches/release_2_3/base</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/152661">152661</a></dd>
<dt>Author</dt> <dd>raimue@macports.org</dd>
<dt>Date</dt> <dd>2016-09-14 06:49:47 -0700 (Wed, 14 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>merge <a href="https://trac.macports.org/changeset/147347">r147347</a> from trunk:
 mportsync: fetch tar and signature at once
 
 Both ports.tar and ports.tar.rmd160 can be transferred in the same connection,
 removing the need for setting up another rsync process and its connection time.

 Conflicts with new try/catch vs. catch resolved.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesrelease_2_3basesrcmacports10macportstcl">branches/release_2_3/base/src/macports1.0/macports.tcl</a></li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#branchesrelease_2_3base">branches/release_2_3/base/</a></li>
<li><a href="#branchesrelease_2_3basesrc">branches/release_2_3/base/src/</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesrelease_2_3base"></a>
<div class="propset"><h4>Property changes: branches/release_2_3/base</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/branches/gsoc09-logging/base:51231-60371
</span><span class="cx">/branches/gsoc11-rev-upgrade/base:78828-88375
</span><span class="cx">/branches/gsoc11-statistics/base:79520,79666
</span><span class="cx">/branches/gsoc13-tests:106692-111324
</span><span class="cx">/branches/universal-sanity/base:51872-52323
</span><span class="cx">/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
</span><span class="cx">/trunk/base:118038-118039,118056,118085,118161,118559,118562-118569,118598-118599,118602-118603,118606-118607,118640,118735,119034,119169,119171,119175,119204,119297,119987,119992,120036,120038,120059-120060,120064,120067-120069,120074,120076,120127,120132,120142,120345,120382,120637,121311,121364,121451,121485,123652,124145-124146,124150,124216,125578,125621,125859,126475,126866,126868,126895,126900,128113,128274,128276,128422,134501-134502,134511,136965,137850,138461,138530,138749,139270,140693,140724,141134,141412,145037,145162,146644,147456,149529,150305,152447
</span><span class="cx">/users/perry/base-bugs_and_notes:45682-46060
</span><span class="cx">/users/perry/base-select:44044-44692
</span><span class="cx">   + /branches/gsoc08-privileges/base:37343-46937
</span><span class="cx">/branches/gsoc09-logging/base:51231-60371
</span><span class="cx">/branches/gsoc11-rev-upgrade/base:78828-88375
</span><span class="cx">/branches/gsoc11-statistics/base:79520,79666
</span><span class="cx">/branches/gsoc13-tests:106692-111324
</span><span class="cx">/branches/universal-sanity/base:51872-52323
</span><span class="cx">/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
</span><span class="cx">/trunk/base:118038-118039,118056,118085,118161,118559,118562-118569,118598-118599,118602-118603,118606-118607,118640,118735,119034,119169,119171,119175,119204,119297,119987,119992,120036,120038,120059-120060,120064,120067-120069,120074,120076,120127,120132,120142,120345,120382,120637,121311,121364,121451,121485,123652,124145-124146,124150,124216,125578,125621,125859,126475,126866,126868,126895,126900,128113,128274,128276,128422,134501-134502,134511,136965,137850,138461,138530,138749,139270,140693,140724,141134,141412,145037,145162,146644,147347,147456,149529,150305,152447
</span><span class="cx">/users/perry/base-bugs_and_notes:45682-46060
</span><span class="cx">/users/perry/base-select:44044-44692
</span><a id="branchesrelease_2_3basesrc"></a>
<div class="propset"><h4>Property changes: branches/release_2_3/base/src</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/branches/gsoc09-logging/base/src:51231-60371
</span><span class="cx">/branches/gsoc11-rev-upgrade/base/src:78828-88375
</span><span class="cx">/branches/gsoc11-statistics/base/src:79520,79666
</span><span class="cx">/branches/gsoc13-tests/src:106692-111324
</span><span class="cx">/branches/universal-sanity/base/src:51872-52323
</span><span class="cx">/branches/variant-descs-14482/base/src:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
</span><span class="cx">/trunk/base/src:118038-118039,118056,118085,118161,118559,118562-118569,118598-118599,118602-118603,118606-118607,118640,118735,119034,119169,119171,119175,119204,119297,119987,119992,120036,120038,120059-120060,120064,120067-120069,120074,120076,120127,120132,120142,120345,120382,120637,121311,121364,121451,121485,123652,124145-124146,124150,124216,125578,125621,125859,126475,126866,126868,126895,126900,128113,128274,128276,128422,134501-134502,134511,135851,136965,137850,138461,138530,138749,139270,141134,141412,145037,145162,146644,147456,150305,152447
</span><span class="cx">/users/perry/base-bugs_and_notes/src:45682-46060
</span><span class="cx">/users/perry/base-select/src:44044-44692
</span><span class="cx">   + /branches/gsoc08-privileges/base/src:37343-46937
</span><span class="cx">/branches/gsoc09-logging/base/src:51231-60371
</span><span class="cx">/branches/gsoc11-rev-upgrade/base/src:78828-88375
</span><span class="cx">/branches/gsoc11-statistics/base/src:79520,79666
</span><span class="cx">/branches/gsoc13-tests/src:106692-111324
</span><span class="cx">/branches/universal-sanity/base/src:51872-52323
</span><span class="cx">/branches/variant-descs-14482/base/src:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
</span><span class="cx">/trunk/base/src:118038-118039,118056,118085,118161,118559,118562-118569,118598-118599,118602-118603,118606-118607,118640,118735,119034,119169,119171,119175,119204,119297,119987,119992,120036,120038,120059-120060,120064,120067-120069,120074,120076,120127,120132,120142,120345,120382,120637,121311,121364,121451,121485,123652,124145-124146,124150,124216,125578,125621,125859,126475,126866,126868,126895,126900,128113,128274,128276,128422,134501-134502,134511,135851,136965,137850,138461,138530,138749,139270,141134,141412,145037,145162,146644,147347,147456,150305,152447
</span><span class="cx">/users/perry/base-bugs_and_notes/src:45682-46060
</span><span class="cx">/users/perry/base-select/src:44044-44692
</span><a id="branchesrelease_2_3basesrcmacports10macportstcl"></a>
<div class="modfile"><h4>Modified: branches/release_2_3/base/src/macports1.0/macports.tcl (152660 => 152661)</h4>
<pre class="diff"><span>
<span class="info">--- branches/release_2_3/base/src/macports1.0/macports.tcl        2016-09-14 13:43:38 UTC (rev 152660)
+++ branches/release_2_3/base/src/macports1.0/macports.tcl        2016-09-14 13:49:47 UTC (rev 152661)
</span><span class="lines">@@ -2214,12 +2214,16 @@
</span><span class="cx"> # (private)
</span><span class="cx"> #
</span><span class="cx"> # @param url source URL to check
</span><del>-# @return a list containing filename and extension or an empty list
-proc _source_is_snapshot {url {filename {}} {extension {}}} {
</del><ins>+# @param filename upvar variable name for filename
+# @param extension upvar variable name for extension
+# @param extension upvar variable name for URL excluding the filename
+proc _source_is_snapshot {url {filename {}} {extension {}} {rooturl {}}} {
+    upvar $rooturl myrooturl
</ins><span class="cx">     upvar $filename myfilename
</span><span class="cx">     upvar $extension myextension
</span><span class="cx"> 
</span><del>-    if {[regexp {^(?:https?|ftp|rsync)://.+/(.+\.(tar\.gz|tar\.bz2|tar))$} $url -&gt; f e]} {
</del><ins>+    if {[regexp {^((?:https?|ftp|rsync)://.+/)(.+\.(tar\.gz|tar\.bz2|tar))$} $url -&gt; u f e]} {
+        set myrooturl $u
</ins><span class="cx">         set myfilename $f
</span><span class="cx">         set myextension $e
</span><span class="cx"> 
</span><span class="lines">@@ -2350,13 +2354,15 @@
</span><span class="cx">                 # Where to, boss?
</span><span class="cx">                 set indexfile [macports::getindex $source]
</span><span class="cx">                 set destdir [file dirname $indexfile]
</span><del>-                set is_tarball [_source_is_snapshot $source]
</del><ins>+                set is_tarball [_source_is_snapshot $source filename extension rooturl]
</ins><span class="cx">                 file mkdir $destdir
</span><span class="cx"> 
</span><span class="cx">                 if {$is_tarball} {
</span><del>-                    set exclude_option {}
</del><ins>+                    set exclude_option &quot;--exclude=*&quot;
+                    set include_option &quot;--include=/${filename} --include=/${filename}.rmd160&quot;
</ins><span class="cx">                     # need to do a few things before replacing the ports tree in this case
</span><span class="cx">                     set destdir [file dirname $destdir]
</span><ins>+                    set srcstr $rooturl
</ins><span class="cx">                 } else {
</span><span class="cx">                     # Keep rsync happy with a trailing slash
</span><span class="cx">                     if {[string index $source end] ne {/}} {
</span><span class="lines">@@ -2364,9 +2370,11 @@
</span><span class="cx">                     }
</span><span class="cx">                     # don't sync PortIndex yet; we grab the platform specific one afterwards
</span><span class="cx">                     set exclude_option '--exclude=/PortIndex*'
</span><ins>+                    set include_option {}
+                    set srcstr $source
</ins><span class="cx">                 }
</span><span class="cx">                 # Do rsync fetch
</span><del>-                set rsync_commandline &quot;$macports::autoconf::rsync_path $rsync_options $exclude_option $source $destdir&quot;
</del><ins>+                set rsync_commandline &quot;$macports::autoconf::rsync_path $rsync_options $include_option $exclude_option $srcstr $destdir&quot;
</ins><span class="cx">                 ui_debug $rsync_commandline
</span><span class="cx">                 if {[catch {system $rsync_commandline}]} {
</span><span class="cx">                     ui_error &quot;Synchronization of the local ports tree failed doing rsync&quot;
</span><span class="lines">@@ -2377,13 +2385,6 @@
</span><span class="cx">                 if {$is_tarball} {
</span><span class="cx">                     # verify signature for tarball
</span><span class="cx">                     global macports::archivefetch_pubkeys
</span><del>-                    set rsync_commandline &quot;$macports::autoconf::rsync_path $rsync_options $exclude_option ${source}.rmd160 $destdir&quot;
-                    ui_debug $rsync_commandline
-                    if {[catch {system $rsync_commandline}]} {
-                        ui_error &quot;Synchronization of the ports tree signature failed doing rsync&quot;
-                        incr numfailed
-                        continue
-                    }
</del><span class="cx">                     set tarball ${destdir}/[file tail $source]
</span><span class="cx">                     set signature ${tarball}.rmd160
</span><span class="cx">                     set openssl [macports::findBinary openssl $macports::autoconf::openssl_path]
</span></span></pre>
</div>
</div>

</body>
</html>