Hi! On Wed, Aug 1, 2018 at 1:30 PM Eric Gade <eric.gade@gmail.com> wrote:
I have already mentioned some of this on Discord so forgive me for being redundant if you've seen it.
I'm having problems loading into the latest P7 images from Launcher a working branch of Pharo that I have forked. I perform the following steps:
I'll try to reproduce it, but meanwhile.
1. "Repair" the missing local repository for Pharo and load from my forked version on Github 2. Now in the "detached working copy" state, I repair again 3. This time I select "Discard local changes and checkout existing branch". I select my working branch from the remotes
I have a remark on this step, that should be known and understood by people contributing Pharo. - When you download an image, that image knows from which commit it was built. This is done on purpose so then you can continue working from exactly that commit (less merge problems, do not need to update your live image...). - Every week some tenths of pull requests are integrated in Pharo, so loading the Pharo7 image of today will give you an image compleeetely different from the one you worked with one week ago. What this means, is that if you checkout an old branch, Iceberg will try to "downgrade" all your packages to your branch's version, and that may not always work, because while updating pharo packages you may break running code and running instances (take into account you have several processes running). This is the same problem of the old "Software update" option in Pharo that was deprecated and removed some time ago already. And this is why in general we do not recommend nowadays to update a pharo image through iceberg, because you cause a kind of self brain-surgery scenario. This is why also we DO recommend, when you start with a new image to "create a new branch from the image commit". Because this option makes you work on a branch that is 100% in sync with your Pharo image and it will just simplify your life :). For your particular use case (have a new image and want to keep working on an old pharo branch), I'd suggest that instead of doing "Discard local changes and checkout existing branch" you do - load your fork - create *new* branch from image - merge your old branch into this new one That will be by far less disruptive.
4. It will attempt to load, but eventually a popup appears (not a normal error) that simply says "origin: Error" and "Assertion failed".
You have the popup with the "Ignore" and "Debug" options? Could you click on "Debug" and share your stack trace?
I'm not sure what's going on, since this procedure seemed to work a week or so ago if I remember correctly. As of a couple of days ago I can no longer load (ie work on) my working branch.
Well, this is for sure related to what I described above, using a new image with an old branch....
I figure I'm doing something wrong, but need to know what.
Maybe not, and it's just a matter of a complex scenario + an unexpected case in iceberg (thus the assertion). Keep us updated to see if we can help you, Guille