Overwrite repository in symbolic version
Hi, Iâm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different ârepositoryâ and so other branch? Or is there another good way to handle branches? Uko
Hi Uko, If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method. If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work. inside the version method, for example: (gitfiletree url) spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree:// github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0' ]; import: 'AltBrowser' (It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place: Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser:pharo4.0 '; load And you can then customize your dependencies per branches, by modifying the BaselineOf in each. Thierry 2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi,
I'm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different "repository" and so other branch? Or is there another good way to handle branches?
Uko
Hi. Thank you in a first place. Maybe I should use baseline class instead of configuration indeed. But I also like to release some versions using git tags. Does it make sense to use baseline class for development purposes and configuration for releases. Uko
On 01 Feb 2015, at 16:59, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Uko,
If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method.
If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work.
inside the version method, for example: (gitfiletree url)
spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0 <http://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0>' ]; import: 'AltBrowser'
(It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place:
Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser:pharo4.0 <http://github.com/ThierryGoubier/AltBrowser:pharo4.0>'; load
And you can then customize your dependencies per branches, by modifying the BaselineOf in each.
Thierry
2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>>: Hi,
Iâm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different ârepositoryâ and so other branch? Or is there another good way to handle branches?
Uko
Hi Uko, 2015-02-02 17:34 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi.
Thank you in a first place.
Maybe I should use baseline class instead of configuration indeed. But I also like to release some versions using git tags. Does it make sense to use baseline class for development purposes and configuration for releases.
It's up to you. My suggestion would be baselines in the branches and version tags, and refer to those in a configuration. A baseline in a branch behaves like a #development version in a configuration; a baseline in a version tag behaves exactly like a #stable version in a configuration, except that you don't have to specify the precise version and file name for each package. Thierry
Uko
On 01 Feb 2015, at 16:59, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Uko,
If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method.
If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work.
inside the version method, for example: (gitfiletree url)
spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree:// github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0' ]; import: 'AltBrowser'
(It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place:
Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree:// github.com/ThierryGoubier/AltBrowser:pharo4.0'; load
And you can then customize your dependencies per branches, by modifying the BaselineOf in each.
Thierry
2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi,
I'm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different "repository" and so other branch? Or is there another good way to handle branches?
Uko
One more question. Is there any command line handler which uses Metacello? Because as far as I know, Gofer does not support github âprotocolâ. Uko
On 02 Feb 2015, at 18:28, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Uko,
2015-02-02 17:34 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>>: Hi.
Thank you in a first place.
Maybe I should use baseline class instead of configuration indeed. But I also like to release some versions using git tags. Does it make sense to use baseline class for development purposes and configuration for releases.
It's up to you.
My suggestion would be baselines in the branches and version tags, and refer to those in a configuration.
A baseline in a branch behaves like a #development version in a configuration; a baseline in a version tag behaves exactly like a #stable version in a configuration, except that you don't have to specify the precise version and file name for each package.
Thierry
Uko
On 01 Feb 2015, at 16:59, Thierry Goubier <thierry.goubier@gmail.com <mailto:thierry.goubier@gmail.com>> wrote:
Hi Uko,
If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method.
If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work.
inside the version method, for example: (gitfiletree url)
spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0 <http://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0>' ]; import: 'AltBrowser'
(It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place:
Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser:pharo4.0 <http://github.com/ThierryGoubier/AltBrowser:pharo4.0>'; load
And you can then customize your dependencies per branches, by modifying the BaselineOf in each.
Thierry
2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>>: Hi,
Iâm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different ârepositoryâ and so other branch? Or is there another good way to handle branches?
Uko
I do on the command line the following: pharo Pharo.image eval --save Metacello new baseline: \'MyProject\'\; repository: \'github://\'\; load The \ are a bit annoying, but it gives you access to any smalltalk cod, which is very convenient. Thierry Le 3 févr. 2015 17:15, "Yuriy Tymchuk" <yuriy.tymchuk@me.com> a écrit :
One more question. Is there any command line handler which uses Metacello? Because as far as I know, Gofer does not support github "protocol".
Uko
On 02 Feb 2015, at 18:28, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Uko,
2015-02-02 17:34 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi.
Thank you in a first place.
Maybe I should use baseline class instead of configuration indeed. But I also like to release some versions using git tags. Does it make sense to use baseline class for development purposes and configuration for releases.
It's up to you.
My suggestion would be baselines in the branches and version tags, and refer to those in a configuration.
A baseline in a branch behaves like a #development version in a configuration; a baseline in a version tag behaves exactly like a #stable version in a configuration, except that you don't have to specify the precise version and file name for each package.
Thierry
Uko
On 01 Feb 2015, at 16:59, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Uko,
If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method.
If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work.
inside the version method, for example: (gitfiletree url)
spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree:// github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0' ]; import: 'AltBrowser'
(It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place:
Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree:// github.com/ThierryGoubier/AltBrowser:pharo4.0'; load
And you can then customize your dependencies per branches, by modifying the BaselineOf in each.
Thierry
2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi,
I'm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different "repository" and so other branch? Or is there another good way to handle branches?
Uko
Yes, I do the same, although instead of using \ I wrap my command in double quotes. Still I think that dedicated handler is nicer. Maybe Iâll do it one day. Uko
On 03 Feb 2015, at 18:32, Thierry Goubier <thierry.goubier@gmail.com> wrote:
I do on the command line the following:
pharo Pharo.image eval --save Metacello new baseline: \'MyProject\'\; repository: \'github://\'\; load
The \ are a bit annoying, but it gives you access to any smalltalk cod, which is very convenient.
Thierry
Le 3 févr. 2015 17:15, "Yuriy Tymchuk" <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>> a écrit : One more question. Is there any command line handler which uses Metacello? Because as far as I know, Gofer does not support github âprotocolâ.
Uko
On 02 Feb 2015, at 18:28, Thierry Goubier <thierry.goubier@gmail.com <mailto:thierry.goubier@gmail.com>> wrote:
Hi Uko,
2015-02-02 17:34 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>>: Hi.
Thank you in a first place.
Maybe I should use baseline class instead of configuration indeed. But I also like to release some versions using git tags. Does it make sense to use baseline class for development purposes and configuration for releases.
It's up to you.
My suggestion would be baselines in the branches and version tags, and refer to those in a configuration.
A baseline in a branch behaves like a #development version in a configuration; a baseline in a version tag behaves exactly like a #stable version in a configuration, except that you don't have to specify the precise version and file name for each package.
Thierry
Uko
On 01 Feb 2015, at 16:59, Thierry Goubier <thierry.goubier@gmail.com <mailto:thierry.goubier@gmail.com>> wrote:
Hi Uko,
If I understand your need correctly, I would say yes : you can add a spec repository: anUrl inside the version and this should override the repository inside the baseline method.
If you're ready to try some of the new stuff pushed in Metacello by Dale, I would suggest that you create a BaselineOfYourProject inside your branch and write a configuration which refer to the baseline; there, just changing the url to point to your branch would make it work.
inside the version method, for example: (gitfiletree url)
spec blessing: #development; author: 'ThierryGoubier'; baseline: 'AltBrowser' with: [ spec repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0 <http://github.com/ThierryGoubier/AltBrowser.git?branch=pharo4.0>' ]; import: 'AltBrowser'
(It's also quite convenient to be able to work with metacello scripts which are as short as loading the configuration in the first place:
Metacello new baseline: 'AltBrowser'; repository: 'gitfiletree://github.com/ThierryGoubier/AltBrowser:pharo4.0 <http://github.com/ThierryGoubier/AltBrowser:pharo4.0>'; load
And you can then customize your dependencies per branches, by modifying the BaselineOf in each.
Thierry
2015-02-01 16:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com <mailto:yuriy.tymchuk@me.com>>: Hi,
Iâm using git for versioning, and usually I just work with master branch. Now I have created another branch, can I create at least temporal symbolic version that will work on a current baseline, but will use different ârepositoryâ and so other branch? Or is there another good way to handle branches?
Uko
participants (2)
-
Thierry Goubier -
Yuriy Tymchuk