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.
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 usman.bhatti@gmail.com:
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 Moose-dev@iam.unibe.ch 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
2015-09-11 16:05 GMT+02:00 stephan stephan@stack.nl:
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?
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
Stephan
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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?
FileTree uses the PackageName.branch to name the directory in which the package is stored, so it is safe (and desirable) to keep branches in the same repository.
Dale
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
Hi Thierry,
On Fri, Sep 11, 2015 at 3:52 PM, Thierry Goubier thierry.goubier@gmail.com 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.
That's what I thought too.
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
I see, I am probably not specifying my branches correctly so I'll have a look at it.
Tx for your answer.
Thierry
2015-09-11 15:09 GMT+02:00 Usman Bhatti usman.bhatti@gmail.com:
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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
On 9/11/15 6:09 AM, Usman Bhatti wrote:
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.
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
On Fri, Sep 11, 2015 at 4:55 PM, Dale Henrichs < dale.henrichs@gemtalksystems.com> wrote:
On 9/11/15 6:09 AM, Usman Bhatti wrote:
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.
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:)
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_ 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 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.
[image: Inline image 1]
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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
On 09/11/2015 08:20 AM, Usman Bhatti wrote:
On Fri, Sep 11, 2015 at 4:55 PM, Dale Henrichs <dale.henrichs@gemtalksystems.com mailto:dale.henrichs@gemtalksystems.com> wrote:
On 9/11/15 6:09 AM, Usman Bhatti wrote:
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.
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:)
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.
Yep, you and me both:) Let me know how it goes...
Dale
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 < dale.henrichs@gemtalksystems.com> wrote:
On 09/11/2015 08:20 AM, Usman Bhatti wrote:
On Fri, Sep 11, 2015 at 4:55 PM, Dale Henrichs < dale.henrichs@gemtalksystems.com> wrote:
On 9/11/15 6:09 AM, Usman Bhatti wrote:
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.
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:)
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.
Yep, you and me both:) Let me know how it goes...
Dale
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev