Hi, It seems that Metacello does not consider PackageName-xyz and PacakgeName-BranchName-xyz as the same package. I suspect it because when I look at the packages loaded by two different configurations with and without branch names as package name suffixes are not the same. Could someone knowing the internals of Metacello confirm it? So, here is a log of Metacello of the loadDirective for ConfigOfGlamour with and without packages with branch names. I have truncated the output to highlight important parts of the log. ----------- Metacello log follows ---------------------- Without branching (Rubric and Glamour-Morphic-Renderer loaded only once): linear load : atomic load : 3.3.0 [ConfigurationOfGlamour] linear load : 3.1.3.Moose51 [ConfigurationOfGlamourCore] --------------------List of Packages---------------- atomic load : 1.2.14.Moose51 [ConfigurationOfRubric] load : Rubric-AndreiChis.207 load : Glamour-Morphic-Renderer-AndreiChis.324 --------------------List of Packages---------------- linear load : 1.13 [ConfigurationOfRoassal2] linear load : 3.1.4 [ConfigurationOfGlamourCore] --------------------List of Packages---------------- With branching (old versions overwrites the fixes): linear load : atomic load : 3.3.0 [ConfigurationOfGlamour] linear load : 3.1.3.Moose51 [ConfigurationOfGlamourCore] --------------------List of Packages---------------- atomic load : 1.2.14.Moose51 [ConfigurationOfRubric] load : Rubric-Moose51-usmanbhatti.207 load : Glamour-Morphic-Renderer-Moose51-usmanbhatti.324 --------------------List of Packages---------------- linear load : 1.13 [ConfigurationOfRoassal2] linear load : 3.1.4 [ConfigurationOfGlamourCore] atomic load : 1.2.15 [ConfigurationOfRubric] load : Rubric-AlainPlantec.206 load : Glamour-Morphic-Renderer-AndreiChis.321 --------------------List of Packages---------------- --------------- What it actually changes is packages with branch name are overwritten with their predecessors and hence fixes are not correctly included in the resulting image. It seems that ensuring correct loading in the presence of branched packages requires no other configuration is loading previous versions of the branched packages. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Usman,
as far as I know, I see two things: - Metacello and Monticello have no true concept of branch names in their code; there is code where when you decode a package version name, you throw away some of the name to keep only the package name, the version and the author. and: - In your example, branch names are not written correctly: from filetree on ss3 (http://ss3.gemstone.com/ss/FileTree/), what you see is that it should be: PackageName.branch-author.version.mcz Thierry 2015-09-11 15:09 GMT+02:00 Usman Bhatti <[hidden email]>:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On 11-09-15 15:52, Thierry Goubier wrote: > Hi Usman, > > as far as I know, I see two things: > > - Metacello and Monticello have no true concept of branch names in their > code; there is code where when you decode a package version name, you throw > away some of the name to keep only the package name, the version and the > author. > > and: > > - In your example, branch names are not written correctly: from filetree on > ss3 (http://ss3.gemstone.com/ss/FileTree/), what you see is that it should > be: PackageName.branch-author.version.mcz So that means that they should preferably not be in a separate repository? Stephan _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
2015-09-11 16:05 GMT+02:00 stephan <[hidden email]>:
Due to the naming bug in MC and package cache, yes, they should be kept in the same repository (so that you can notice you are overwritting a stable good version with a newer one of the same name and crash everything for all users... otherwise the bug will appear under certain conditions in a user package cache ;) ). Oh, yes, for fun. MC uses the branch when loading the package, to throw the branch name away inside Pharo; to makes it almost impossible to you to keep using the correct branch name when saving your developments on that branch :( Thierry
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
On 9/11/15 7:05 AM, stephan wrote: > > > On 11-09-15 15:52, Thierry Goubier wrote: >> Hi Usman, >> >> as far as I know, I see two things: >> >> - Metacello and Monticello have no true concept of branch names in their >> code; there is code where when you decode a package version name, you >> throw >> away some of the name to keep only the package name, the version and the >> author. >> >> and: >> >> - In your example, branch names are not written correctly: from >> filetree on >> ss3 (http://ss3.gemstone.com/ss/FileTree/), what you see is that it >> should >> be: PackageName.branch-author.version.mcz > > So that means that they should preferably not be in a separate > repository? package is stored, so it is safe (and desirable) to keep branches in the same repository. Dale _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Thierry Goubier
On 9/11/15 6:52 AM, Thierry Goubier wrote: > Hi Usman, > > as far as I know, I see two things: > > - Metacello and Monticello have no true concept of branch names in > their code; there is code where when you decode a package version > name, you throw away some of the name to keep only the package name, > the version and the author. > I prefer to state this slightly differently:) Monticello has no first class support of package branches. The naming convention referred to by Thierry is only a file naming convention. Metacello _honors_ the Monticello naming convention, by allowing you to specify that a branch be used by allowing you to associate a filename with a package: spec package: 'Seaside-Core' with: [spec file: 'Seaside-Core.gemstone' ] Dale _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Thierry Goubier
Hi Thierry,
On Fri, Sep 11, 2015 at 3:52 PM, Thierry Goubier <[hidden email]> wrote:
That's what I thought too.
I see, I am probably not specifying my branches correctly so I'll have a look at it. Tx for your answer.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Usman Bhatti
On 9/11/15 6:09 AM, Usman Bhatti wrote:
While Thierry's comments (and my own) apply, I'd like to dive a little deeper into this for a minute ... I would like to compare the Metacello specs for Glamour-Morphic-Renderer in ConfigurationOfGlamourCore (that resolves to Glamour-Morphic-Renderer-Moose51-usmanbhatti.324) and the spec for Glamour-Morphic-Renderer in ConfigurationOfRubric (that resolves to Glamour-Morphic-Renderer-AndreiChis.321)... I see that in Glamour-Morphic-Renderer-Moose51-usmanbhatti.324 the version number (324 ... which btw is another convention:) is greater than 321, so I do believe that if you had been using the branch naming conventions Glamour-Morphic-Renderer-AndreiChis.321 would not have been loaded .... and I suppose we'll find out shortly:) I _am_ curious about the package meta information for Glamour-Morphic-Renderer-Moose51-usmanbhatti.324 ... when you crack open that package (inspect the ancestry of working copy) what package name is associated with the latest ancestor? I've seen cases where the package meta data has drifted significantly from the name of the file used to house the package and that has lead to interesting image state, to say the least. Dale _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On Fri, Sep 11, 2015 at 4:55 PM, Dale Henrichs <[hidden email]> wrote:
Yes, I really hope (and I'll test it shortly) that it is just a matter of naming convention that results in undesired packages getting loaded.
I am not sure to have followed what you wanted to convey. I was careful to branch off from the correct (read latest) ancestor: Name: Glamour-Morphic-Renderer-Moose51-usmanbhatti.324 Author: usmanbhatti Time: 8 September 2015, 5:14:54.771458 pm UUID: b5b3f2f2-62ab-48c8-a4d1-39960fb8fa3b Ancestors: Glamour-Morphic-Renderer-usmanbhatti.323 And the inspector concurs with this information in my image: Tx for your answer.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On 09/11/2015 08:20 AM, Usman Bhatti
wrote:
Yep, you and me both:) Let me know how it goes... Dale _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi, I confirm that fixing the branch names corrected the problem with package loading. The feedback from Thierry and Dale was fruitful. Thank you guys for your help. On Fri, Sep 11, 2015 at 6:13 PM, Dale Henrichs <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |