<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/335a87e0441edad2ae91fa45690ea8bf4b4a9527">https://github.com/macports/macports-base/commit/335a87e0441edad2ae91fa45690ea8bf4b4a9527</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 335a87e04 _deactivate_contents: avoid linear search
</span>335a87e04 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 335a87e0441edad2ae91fa45690ea8bf4b4a9527
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Jun 20 00:58:00 2024 +1000
<span style='display:block; white-space:pre;color:#404040;'> _deactivate_contents: avoid linear search
</span>---
src/registry2.0/portimage.tcl | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/portimage.tcl b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 95478fb2c..539f52b9b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -839,6 +839,7 @@ proc _deactivate_contents {port imagefiles {force 0} {rollback 0}} {
</span>
_progress start
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set seendirs [dict create]
</span> foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_total_steps
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -858,8 +859,9 @@ proc _deactivate_contents {port imagefiles {force 0} {rollback 0}} {
</span>
# Split out the filename's subpaths and add them to the image list
# as well.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- while {$directory ni $files} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ while {![dict exists $seendirs $directory]} {
</span> lappend files $directory
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ dict set seendirs $directory 1
</span> incr progress_total_steps
set directory [::file dirname $directory]
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -867,6 +869,7 @@ proc _deactivate_contents {port imagefiles {force 0} {rollback 0}} {
</span> ui_debug "$file does not exist."
}
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ unset seendirs
</span>
# Sort the list in reverse order, removing duplicates.
# Since the list is sorted in reverse order, we're sure that directories
</pre><pre style='margin:0'>
</pre>