<div dir="ltr">Hi Christoph,<br><br>A solution made several years ago is still around today, including for FFI and VMMaker.  Simply find the package in the SqueakMap browser, expand the tree, select the "head" version, yellow-click "install".<div><br></div><div><div><img src="cid:ii_kf07ma110" alt="image.png" width="350" height="213"><br></div></div><div><br></div><div>It will do a <u>merge</u>, starting with the lowest level dependent packages.  How to do this using MCConfigurations is documented here, under the heading, <span style="color:rgb(0,0,0);font-family:"Times New Roman""><i>Guidelines for writing the script for the head release.</i></span><div><br></div><div>   <a href="http://wiki.squeak.org/squeak/6182">http://wiki.squeak.org/squeak/6182</a><br><div><br></div><div>I know this is not quite "all" packages, but I do see a "Upgrade all" few choices lower which may do what you want or, if not, could trivially be made to.  The important thing is, you get to maintain the finer-grained control of being able to load at any node point in the package hierarchy structure (including lower-level packages).<br></div><div><div><br></div><div>This hierarchy was defined for many packages as an upgrade to Installer several years ago.  The upgrade solves your use-case and several others including for configuration and deployment.  If you select "Edit Release" on that (head) selection for FFI, you can see it executes just a one-line workspace:<br><br>    Installer new merge: #ffi<br><div><br></div><div>That feature is documented here:</div><div><br></div><div>   <a href="http://wiki.squeak.org/squeak/6366">http://wiki.squeak.org/squeak/6366</a></div><div><br></div><div>But, as you mentioned, none of this is git, so this has limited the interest from the community.</div></div></div></div></div><div><br></div><div>I'm most interested in interacting with git via the GraphQL API, but when I went to study the schema, I was shocked to see it had hundreds upon hundreds of types, so I didn't have time to try to make a tidy client.</div><div><br></div><div>HTH,</div><div>   Chris</div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 12, 2020 at 2:26 PM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Christoph,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 12, 2020 at 12:19 PM Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de" target="_blank">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi all,</p>
<p><br>
</p>
<p>maybe I am missing some central Squeak tool, but I have never been happy with the current way to update all installed third-party packages in Squeak - because I don't know anyone. Please allow me to give you a short outline of the tool I would like to use
 for updating packages:</p>
<p><br>
</p>
<p>There should be a simple button in the Squeak Menu, just below "Update image", named "Update packages", that enables you to install the latest versions of all installed packages for which a remote does exist. <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"> </span><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">In
 addition, if I made any change to a package, it should be possible </span><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"></span><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">to
 merge the updates into my working copy.</span> In particular, this does not only include Squeaksource packages but also packages from GitHub, BitBucket, etc. Great packages such as Autocompletion, MethodWrappers, Vivide, or Squot (see below) that are all hosted
 on GitHub and can be installed using a Metacello script.</p>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Signature">
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="divtagdefaultwrapper">
<div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</font></div>
</div>
</div>
</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody"><br>
</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">So how much of this is reality and how much is fiction today?</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">For packages installed from Squeaksource, I can open them in the Monticello Browser and load or merge the latest version. At least, this works, but we could need a button to do this for all available packages where
 a "default remote" is selected.</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">But for packages managed via git, this is not possible at all! The Monticello Browser does not know their remote repositories that were used to install the packages originally. Without extra settings made per repository
 baseline, you cannot even re-load a package again via the install script, see also this open issue: <a href="https://github.com/Metacello/metacello/issues/513" id="gmail-m_2144420348785310016gmail-m_3393605290151606567LPlnk736265" target="_blank">https://github.com/Metacello/metacello/issues/513</a> <span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">Meanwhile,
 I have made a habit of cloning all interesting </span><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">projects via Squot in order to update them, even if I do not plan to commit to them ...</span></div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody"><br>
</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody"><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">I believe there is also something like SqueakMap which has an "Update" and an "Upgrade" button, but this tool is only made for accessing
 the Squeaksource, is this correct? From what I can see, Squeaksource and SqueakMap have become less important compared to GitHub (the reasons might include better visibility/explorability of projects, a more efficient VCS, and features like issues/pull requests;
 but that's probably not the point here).</span><br>
</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody"><br>
</div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">What do you think? Am I the only one facing this issue? How would a roadmap for such a tool look like? Looking forward to your ideas! :-)</div></div></div></div></div></div></div></blockquote><div><br></div><div>I've been wanting something like this for the VMMaker development system too.  And for FFI.  Any system builder who uses Squeak as a base, who has on-going development, could benefit from such a system.  And us making it easy to develop is I think a great idea.  So keep going, This is an excellent direction.</div><div><br></div><div>I would also extend the idea with being able to upgrade the VM and dlls within it, but for now that should be on the back burner.  Getting image-level support for update of non-trunk packages is the mosyt important thing.  Thank you.</div><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"><div dir="ltr"><div id="gmail-m_2144420348785310016gmail-m_3393605290151606567divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr"><div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Signature"><div id="gmail-m_2144420348785310016gmail-m_3393605290151606567divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><div name="divtagdefaultwrapper"><div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody"><span style="font-size:12pt">Best,</span><br></div>
<div id="gmail-m_2144420348785310016gmail-m_3393605290151606567Item.MessagePartBody">Christoph</div></div></div></div></div></div></div>
</blockquote></div><div><br></div><div dir="ltr"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>
<br>
</blockquote></div>