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