Norbert,

If you were using a BaselineOf for your project then you could avoid the the configuration hack by using the Metacello lock command[1] which was designed to address the problem where you want to use a local git clone while specifying project references in the configurations using the github (or bitbucket) repository url....

I understand that BaselineOf support is missing from versionner, but until the rest of the tool chain is in place, you will have to trade off where you want to "insert hacks" ... it may be easier to hand edit the BaselineOf when adding a new package or project dependency, than constantly hack configurations because you aren't using a BaselineOf --- but then that's up to you:)

Dale

[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/LockCommandReference.md

On 01/28/2016 09:39 AM, Norbert Hartl wrote:
Finally I got something working for me. It is not generally applicable but at 
the moment I'm happy this works at least. I made it even harder because I store 
the smalltalk code in a sub directory because I want to version web resources 
along with the code. The smalltalk code is in a sub directory st/

development desktop
- - - - - - - - - - - - - - - -

Normal GitFileTree workflow:

- Take a pharo4 image and load the configuration of GitFileTree from the 
Configuration Browser.
- Open Versionner then select GitFileTree and click on development and then 
load version (via context menu). This is IMHO only needed if you want to access 
bitbucket
- Checkout your repository
- Create GitFileTree repository and select directory of checked out repository
- If a ssh key is configured in bitbucket and for the local ssh-agent commit, 
pull, push should work via monticello browser

jenkins
- - - - -

In the jenkins build I like to avoid GitFileTree because I prefer having 
neither GitFileTree nor OSProcess installed in my deployment artefacts

- Configure jenkins git plugin to check out the code repository
- add a shell command consisting

pharo-vm-nox project.image config "filetree://$WORKSPACE/st" 
ConfigurationOfProject --install=bleedingEdge

- this has access to the ConfigurationOfProject but only to this class
- Add

spec repository: 'filetree://st/'

   to the baseline of the ConfigurationOfProject. This way metacello can load 
the rest of the packages.

The good news is that I can have a full powered GitFileTree enabled version for 
developing and a OSProcess-less version for deployment. And I can use 
Versionner as I rely on the ConfigurationOf. But especially the spec repository 
setting in the ConfigurationOfProject is a bad hack. Another solution to this 
would be welcomed. This works only if all packages are in the same git 
repository.
I need to try access that stuff via bitbucket:// url in the metacello baseline. 
Thierry just added support to put credentials in the url so it might work with 
downloading read-only versions of the repository.

Norbert

Am 25.01.2016 um 18:09 schrieb Norbert Hartl <norb...@hartl.name>:

I'm eager to try a new project with some git repositories. But to be honest I 
don't really get it. Searching the web there is lots to find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it only works 
with a BaselineOf. And how do you specify the repository in a ConfigurationOf 
in order to be able to work locally as well as having jenkins pull everything 
automatically? Same goes for dependent projects.

Are there any insights to this or pointers to an up-to-date documentation?

thanks,

Norbert



Reply via email to