<pre style='margin:0'>
Umesh Singla (umeshksingla) pushed a commit to branch gsoc17-migrate
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/037bfe42892eeb010c635e31fe7c85e466eee461">https://github.com/macports/macports-base/commit/037bfe42892eeb010c635e31fe7c85e466eee461</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 037bfe42892eeb010c635e31fe7c85e466eee461
</span>Author: Umesh Singla <umeshksingla@gmail.com>
AuthorDate: Mon Mar 12 23:23:53 2018 +0100

<span style='display:block; white-space:pre;color:#404040;'>    Inform users about not restoring inactive ports
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    while migration and hence, not a part of snapshot
</span>---
 src/macports1.0/migrate.tcl  |  3 +++
 src/macports1.0/snapshot.tcl | 24 +++++++++++++++++++++++-
 src/port/port.tcl            |  4 ++++
 3 files changed, 30 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/migrate.tcl b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index cb53ac9..c4cba52 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,6 +91,9 @@ namespace eval migrate {
</span>         # create a snapshot
         ui_msg "Taking a snapshot of the current state..."
         set snapshot [snapshot::main $opts]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$snapshot == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         set id [$snapshot id]
         set note [$snapshot note]
         set datetime [$snapshot created_at]
<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 2dad420..04d4707 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;'>@@ -52,8 +52,30 @@ namespace eval snapshot {
</span>             } else {
                 set note "snapshot created for migration"
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # TODO: catch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set inactive_ports  [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach port [registry::entry imaged] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[$port state] eq "imaged"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend inactive_ports "[$port name] @[$port version]_[$port revision] [$port variants][$port negated_variants]"
</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;'>+            if {[llength $inactive_ports] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set msg "Following inactive ports will not be a part of this snapshot and won't be installed while restoring:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set inactive_ports [lsort -index 0 -nocase $inactive_ports]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set retvalue [$macports::ui_options(questions_yesno) $msg "Continue?" $inactive_ports {y} 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {$retvalue != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ui_msg "Not creating a snapshot!"
</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;'>+                } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    puts $msg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach port $inactive_ports {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        puts $port
</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>             set snapshot [registry::snapshot create $note]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TODO: catch
</span>         }
         return $snapshot
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port.tcl b/src/port/port.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d434065..c48bd67 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2847,6 +2847,10 @@ proc action_migrate { action portlist opts } {
</span>         ui_debug "Would have executed $::argv0 $::argv --continue"
         ui_error "Failed to re-execute MacPorts migration, please run 'sudo port migrate' manually."
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$result == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # snapshot error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "Failed to create a snapshot and migration cannot proceed."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 proc action_upgrade { action portlist opts } {
</pre><pre style='margin:0'>

</pre>