<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/7936dc9bf485ae7e6fd7ba7522177c505daa529f">https://github.com/macports/macports-base/commit/7936dc9bf485ae7e6fd7ba7522177c505daa529f</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 7936dc9bf snapshot: Implement --list operation
</span>7936dc9bf is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7936dc9bf485ae7e6fd7ba7522177c505daa529f
</span>Author: Clemens Lang <neverpanic@gmail.com>
AuthorDate: Tue Jun 4 12:14:37 2024 +0200

<span style='display:block; white-space:pre;color:#404040;'>    snapshot: Implement --list operation
</span>---
 src/macports1.0/snapshot.tcl | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/snapshot.tcl b/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 5dbe8e1f5..533486c6f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,33 @@ namespace eval snapshot {
</span>                 return [create $opts]
             }
             "list" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ui_error "list operation not implemented"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set snapshots [registry::snapshot get_all]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[llength $snapshots] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_msg "There are no snapshots. Use 'sudo port snapshot \[--create\] \[--note '<message>'\]' to create one."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    return 0
</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;'>+                set lens [dict create id [string length "ID"] created_at [string length "Created"] note [string length "Note"]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach snapshot $snapshots {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach fieldname {id created_at note} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set len [string length [$snapshot $fieldname]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        if {[dict get $lens $fieldname] < $len} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            dict set lens $fieldname $len
</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;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set formatStr "%*s  %-*s  %-*s"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set heading [format $formatStr [dict get $lens id] "ID" [dict get $lens created_at] "Created" [dict get $lens note] "Note"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_msg $heading
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_msg [string repeat "=" [string length $heading]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach snapshot $snapshots {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_msg [format $formatStr [dict get $lens id] [$snapshot id] [dict get $lens created_at] [$snapshot created_at] [dict get $lens note] [$snapshot note]]
</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;'>+                return 0
</span>             }
             "diff" {
                 set snapshot [registry::snapshot get_by_id [dict get $opts ports_snapshot_diff]]
</pre><pre style='margin:0'>

</pre>