Hi,
can anybody tell me the difference between BaselineOfX and ConfigurationOfX? The only thing I've gathered is that BaselineOf is used for Git projects, while ConfigurationOf for Monticello projects; but usage-wise they seem identical. Thanks, Peter |
Thierry or Dale will confirm, but basically that's the gist of it. For git projects, you can specify dependencies to all things that refer to commits in git. So you can depend on a particular commit, on a tag, the tip of a branch… Therefore the release/version management part of metacello in ConfigurationOf… becomes mostly irrelevant, since you can encode it in how you organize and use your git repo. On 25 February 2015 at 13:47, Peter Uhnák <[hidden email]> wrote:
|
I'm sure Dale will precise this, but... BaselineOf is the same as a #baseline: in a ConfigurationOf. It describes dependencies, packages and groups for a project, without versions. On loading, a BaselineOf will behave as a #development version in a ConfigurationOf which is to load the latest versions of the packages listed (and whatever dependencies listed).2015-02-25 15:25 GMT+01:00 Damien Pollet <[hidden email]>:
|
Excerpts from Thierry Goubier's message of 2015-02-25 15:43:39 +0100:
> BaselineOf is the same as a #baseline: in a ConfigurationOf. It describes > dependencies, packages and groups for a project, without versions. On > loading, a BaselineOf will behave as a #development version in a > ConfigurationOf which is to load the latest versions of the packages listed > (and whatever dependencies listed). sounds to me like one should use branches for baseline (since they update) and tags for versions in configuration (since they stay on the same commit) > Repositories urls which support branches and tags are github:// and > bitbucket:// urls; which support branches (and not tags) are gitfiletree:// > urls. oh, any particular reason, or just work in progress? greetings, martin. -- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org secretary beijinglug.org mentor fossasia.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/ |
Just a random query (especially since I haven't played with BaselineOf and I might misunderstand something)... should #baseline: be moved out of the ConfigurationOf class so that we consistently have a BaselineOf class in both cases: git & monticello. That is, the ConfigurationOfXxx.mcz package will contain two classes: ConfigurationOfXxx and BaselineOfXxx. cheers -ben On Wed, Feb 25, 2015 at 11:05 PM, Martin Bähr <[hidden email]> wrote: Excerpts from Thierry Goubier's message of 2015-02-25 15:43:39 +0100: |
2015-02-26 13:41 GMT+01:00 Ben Coman <[hidden email]>:
There is some elegance in having the same scheme, yes.
Hum, I'm not sure it will work. I'm under the feeling that Metacello expects the baseline to be in a package of the same name (BaselineOf) and that it wouldn't work. Dale? Thierry
|
In reply to this post by Martin Bähr
Martin,
In my work I am moving entirely away from ConfigurationOf ... ConfigurationOf was invented because Monticello lacks the ability to reason about multi-file versions so virtually all of the meta data in a ConfigurationOf is making up for this lack. Of course, the ConfigurationOf only partially fills the gap ... Git handles multi-file versions as well as branches so all of the extra meta data in the ConfigurationOf is totally unnecessary once you start using git. The BaselineOf manages the meta data that is still required in the presence of git: - package load order - project dependencies One can use tags directly in a project reference so configurations can be completely eliminated. Dale On 2/25/15 7:05 AM, Martin Bähr wrote: > Excerpts from Thierry Goubier's message of 2015-02-25 15:43:39 +0100: >> BaselineOf is the same as a #baseline: in a ConfigurationOf. It describes >> dependencies, packages and groups for a project, without versions. On >> loading, a BaselineOf will behave as a #development version in a >> ConfigurationOf which is to load the latest versions of the packages listed >> (and whatever dependencies listed). > sounds to me like one should use branches for baseline (since they update) > and tags for versions in configuration (since they stay on the same commit) > >> Repositories urls which support branches and tags are github:// and >> bitbucket:// urls; which support branches (and not tags) are gitfiletree:// >> urls. > oh, any particular reason, or just work in progress? > > greetings, martin. > |
In reply to this post by Ben Coman
On 2/26/15 4:41 AM, Ben Coman wrote: > Just a random query (especially since I haven't played with BaselineOf > and I might misunderstand something)... > should #baseline: be moved out of the ConfigurationOf class so that we > consistently have a BaselineOf class in both cases: git & monticello. Haha, you are misunderstanding ... the two classes are separate because they are independent classes. One should use one or the other for managing a project. If you have a git-based project then I recommend that you use a BaselineOf to manage the packages and dependent projects. If you are using a Monticello repository (mcz files) then you must use a ConfigurationOf ... > > That is, the ConfigurationOfXxx.mcz package will contain two classes: > ConfigurationOfXxx and BaselineOfXxx. > This will not work as you expect:) Dale |
Thank you! If the BaselineOf is independent maybe we could repurpose Versioner - because even if tags and branches are handled by git, the load order and dependencies are still required and doing that by hand is too much work. :) Also maybe the docs (which I found just now… so shame on me for not looking harder) should be updated to recommend people to use BaselineOf always https://github.com/dalehenrich/metacello-work/tree/master/docs Peter On Thu, Feb 26, 2015 at 8:23 PM, Dale Henrichs <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |