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

</pre>
<p><a href="https://github.com/macports/macports-base/commit/aa2b75cb65581658823cbe046d323783d6425c89">https://github.com/macports/macports-base/commit/aa2b75cb65581658823cbe046d323783d6425c89</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 aa2b75c  portindex: Reuse entry from same portdir only
</span>aa2b75c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit aa2b75cb65581658823cbe046d323783d6425c89
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Thu May 17 16:00:29 2018 +0200

<span style='display:block; white-space:pre;color:#404040;'>    portindex: Reuse entry from same portdir only
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    If a port is moved from one directory to another, for example when the
</span><span style='display:block; white-space:pre;color:#404040;'>    category is changed, the port must be reindexed. Otherwise, PortIndex
</span><span style='display:block; white-space:pre;color:#404040;'>    still references the old portdir and any action on the port would fail
</span><span style='display:block; white-space:pre;color:#404040;'>    as the Portfile cannot be found.
</span>---
 src/port/portindex.tcl | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/portindex.tcl b/src/port/portindex.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index a445573..23d8a5f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/portindex.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/portindex.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -120,24 +120,28 @@ proc pindex {portdir} {
</span>             set mtime [file mtime $portfile]
             if {$oldmtime >= $mtime} {
                 lassign [_read_index $qname] name len line
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                _write_index $name $len $line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                incr stats(skipped)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                array set portinfo $line
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[info exists ui_options(ports_debug)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    puts "Reusing existing entry for $portdir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # reuse entry if it was made from the same portdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists portinfo(portdir)] && $portinfo(portdir) eq $portdir} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    _write_index $name $len $line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    incr stats(skipped)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {[info exists ui_options(ports_debug)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        puts "Reusing existing entry for $portdir"
</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;'>+                    # also reuse the entries for its subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {![info exists portinfo(subports)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach sub $portinfo(subports) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        _write_index {*}[_read_index [string tolower $sub]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        incr stats(skipped)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                # also reuse the entries for its subports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                array set portinfo $line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {![info exists portinfo(subports)]} {
</span>                     return
                 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach sub $portinfo(subports) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    _write_index {*}[_read_index [string tolower $sub]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    incr stats(skipped)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                return
</span>             }
         } catch {{*} eCode eMessage} {
             ui_warn "Failed to open old entry for ${portdir}, making a new one"
</pre><pre style='margin:0'>

</pre>