[Seaside-dev] Configurations, changes and releases

Johan Brichau johan at inceptive.be
Thu Jul 10 13:42:51 UTC 2014


On 10 Jul 2014, at 14:29, Philippe Marschall <philippe.marschall at gmail.com> wrote:

>> I will also shamelessly plug here that we would be better of working with the github repository, using pull requests [4]. Right now, we are using github as the reference repository for Seaside and Grease in Gemstone and it's the only place I notice if something breaks in Squeak (the master branch is running travis tests for Pharo and Squeak).
> 
> Ok, I'll bite. What do I need to get started? What is the merge driver
> and how do I use it? How can I get an .mcz again (I assume VASt and VW
> will still need an MCZ).

Great ;-)

In addition to [1][2], a quick getting started guide:

1. Clone the Seaside github repository
2. Open a Pharo3 and create a filetree repository on '/repository' directory of the github working copy
3. Load Seaside3:
Metacello new
	baseline: 'Seaside3';
	repository: 'filetree://<path to repository';
	load: 'CI'

The thing to mind from now on is that:
- you only have 1 version of all packages in the filetree repository
- merging is done by git (not monticello)
- the flow is: 
	* publish changes to your filetree repository
	* commit your changes in git
	* pull in changes from origin
	* reload the code using Metacello in your image

All of this is still a bit rough around the edges, but when you follow the flow, I find the advantages far greater.
Just yesterday, I had to trace 'lost' changes and github tools just beat monticello tools in every aspect for that.
Branching and pull requests are an even greater advantage.

You can make MCZ by copying packages from a monticello repository to a filetree repository. As such, it can be automated using Gofer and Metacello.

We can fine-tune at ESUG, but it's good to have a bite at it beforehand. 

Cheers
Johan

[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md
[2] https://github.com/ThierryGoubier/GitFileTree-MergeDriver


More information about the seaside-dev mailing list