Metacello / metacello

Metacello is a package management system for Smalltalk
MIT License
87 stars 43 forks source link

Trouble updating package #513

Open LinqLover opened 4 years ago

LinqLover commented 4 years ago

Hi,

I also asked this issue in hpi-swa/Squot#241, but it turned out it is a general problem to Metacello:

Given a simple repository with Baseline and Squot and try to install it into a fresh image (I am working with Squeak), using:

Metacello new
    baseline: 'TipOfTheDay';
    repository: 'github://LinqLover/Squeak-TipOfTheDay/packages';
    get;
    load.

This works fine; however, I would like to upgrade the package later. So I push new commits to the repo (master) and they can be seen online, but when I execute the code above again, the new code is not installed into my image. Even clearing my working copy or removing the whole package from the image did not help.

Why doesn't that work? Is it a known bug, or is my code wrong? How can I update an installed Squot repo using Metacello? I would greatly welcome your help.

j4yk commented 4 years ago

Small amendment: As far as Metacello is concerned, there is nothing special about a Squot repository. So in place of "Squot repo" you can also just read "FileTree repository".

dalehenrich commented 4 years ago

Christoph,

It looks like your repository may be a metadataless repository ("noMethodMetaData" : true [1]). In order for reloads to be properly handled in metadataless repos, you add the method:

projectClass

^ MetacelloCypressBaselineProject

to your BaselineOf as described in more detail here[2].

Dale

[1] https://github.com/LinqLover/Squeak-TipOfTheDay/blob/master/packages/TipOfTheDay-Core.package/.filetree [2] https://pharoweekly.wordpress.com/2016/07/19/metacello-support-for-gitfiletree-metadata-less-mode/

On 10/25/19 7:11 AM, Christoph Thiede wrote:

Hi,

I also asked this issue in hpi-swa/Squot#241 https://github.com/hpi-swa/Squot/issues/241, but it turned out it is a general problem to Metacello:

Given a simple repository https://github.com/LinqLover/Squeak-TipOfTheDay with Baseline and Squot and try to install it into a fresh image (I am working with Squeak), using:

Metacello new baseline: 'TipOfTheDay'; repository: 'github://LinqLover/Squeak-TipOfTheDay/packages'; get; load.

This works fine; however, I would like to upgrade the package later. So I push new commits to the repo (master) and they can be seen online, but when I execute the code above again, the new code is not installed into my image. Even clearing my working copy or removing the whole package from the image did not help.

Why doesn't that work? Is it a known bug, or is my code wrong? How can I update an installed Squot repo using Metacello? I would greatly welcome your help.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Metacello/metacello/issues/513?email_source=notifications&email_token=AAEYKTYAKOEA5GYHPUCLSUTQQL5ABA5CNFSM4JFD4LGKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HUMXQ4Q, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEYKT4VTQMLKW57QRHI5YTQQL5ABANCNFSM4JFD4LGA.

LinqLover commented 4 years ago

Thank you very much, Dale! The change fixed it. This should be indeed the default behavior ...

dalehenrich commented 4 years ago

Well, Metacello is not in control of the default FileTree configuration (metadataless or not) on the different platforms. So this is a platform-specific issue AFAICT.

Dale

On 10/25/19 10:42 AM, Christoph Thiede wrote:

Thank you very much, Dale! The change fixed it. This should be indeed the default behavior ...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Metacello/metacello/issues/513?email_source=notifications&email_token=AAEYKT3YXYVDRUZYPDOGHXTQQMVXHA5CNFSM4JFD4LGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECJBYZI#issuecomment-546446437, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEYKT4C3APYVRYCNSOOSZTQQMVXHANCNFSM4JFD4LGA.

tinchodias commented 3 years ago

Hello, we had a problem upgrading a project in Pharo 9. I'm not sure if I should create a new issue entry to report it but as the title would be close to this open issue, I do it here.

To do not repeat, I reported the problem here: https://github.com/hpi-swa/smalltalkCI/issues/371#issuecomment-698429356

But I suspect it comes from Metacello, not smalltalk-ci.

Any idea?