<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>