I sent this mail three days ago, but by mistake to only Bradley (pixilla) (and that too, not from @macports address). So, forwarding this here. Though we can ignore most of what I wrote at that time.
Thanks ---------- Forwarded message ---------- From: Umesh Singla <umeshksin...@gmail.com> Date: Fri, Jun 23, 2017 at 7:39 AM Subject: Re: [GSoC] migration To: Bradley Giesbrecht <pixi...@macports.org> Hi Brad I assumed we would allow multiple snapshots and be able to chose from a > list of snapshots by date-sequence. > Yes, and I think, adopting the files strategy is basically doing the work of sqlite manually. > For the migration functionality wouldn’t we only install “requested” > ports? Dependencies could be different with a platform change. Thanks Brad for clearing this one out. This has been bugging me since long and is actually very fundamental to the project. I was confused between choosing `registry::installed` or `registry::entry installed` at first but then came the `imaged` to create more confusion. Now, getting the list should be as simple as (for snapshot_main): """ set installed_ports [registry::entry imaged] ... foreach port $installed_ports { set isrequested [registry::property_retrieve $port requested] if {$isrequested == 1} { # get its variants # store them } } """ Anyway I tried consulting the existing migration guide. Why does it save the list of all installed ports and then sets the requested flags? Only installing the requested and let the dependencies figure out themselves - is it an improvement we're making now? > Also, if the installed variants for a given port are the default variants > would we want to ignore variants? > I guess it should be fine to ignore them. When the default flavor is desired, it'll be there when the port is installed through the script. Also, we're treating the inactive ports similarily, right? Makes sense to me. Thanks, Umesh Singla