<div dir="ltr">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.<div><br></div><div>Thanks</div><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Umesh Singla</b> <span dir="ltr"><<a href="mailto:umeshksingla@gmail.com">umeshksingla@gmail.com</a>></span><br>Date: Fri, Jun 23, 2017 at 7:39 AM<br>Subject: Re: [GSoC] migration<br>To: Bradley Giesbrecht <<a href="mailto:pixilla@macports.org">pixilla@macports.org</a>><br><br><br><div dir="ltr">Hi Brad<div><br><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I assumed we would allow multiple snapshots and be able to chose from a list of snapshots by date-sequence.<br></blockquote><div><br></div></span><div>Yes, and I think, adopting the files strategy is basically doing the work of sqlite manually.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
For the migration functionality wouldn’t we only install “requested” ports? Dependencies could be different with a platform change.</blockquote><div><br></div></span><div>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 `<span style="font-size:12.8px">registry::installed</span>` or `registry::entry installed` at first but then came the `imaged` to create more confusion. </div><div><br></div><div>Now, getting the list should be as simple as (for snapshot_main):</div><div><br></div><div>"""</div><div>set installed_ports [registry::entry imaged]<br></div><div><br></div><div>...</div><div><br></div><div><div>foreach port $installed_ports {</div><div>    set isrequested [registry::property_retrieve $port requested]</div><div>        if {$isrequested == 1} {</div><div>            # get its variants</div><div>            # store them</div><div>        }</div><div>    }</div></div><div><br></div><div>"""</div><div><br></div><div>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?</div><span class=""><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Also, if the installed variants for a given port are the default variants would we want to ignore variants?<br></blockquote><div><br></div></span><div>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.</div><div><br></div><div>Also, we're treating the inactive ports similarily, right? Makes sense to me.<br></div></div><div><br></div>Thanks,<br><div class="m_7044115898719865186gmail_signature"><div dir="ltr">Umesh Singla</div></div>
</div></div></div>
</div><br></div></div>