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