Le 28/09/2015 04:27, Ben Coman a écrit :

I have a vague recollection that the problem was a particular file
where data changed each commit and having the idea that this might be
solved by: each commit writing metadata to a different file e.g.
NNNN.metadata, and Monticello knows to pick up the highest numbered
metadata.

Hum, I thought that as well, but in fact write the merge driver turned out as far better and simpler. Moreover, all type of data oriented files (ston, json, version) do not merge properly in git. So even Esteban saying he will use STON does not seems to solve the merge issue, unless he is planning something else. I do take in account we will have more metadata in the future, thanks to EPICEA, so we need a way to handle it.

Merging is easy, you just need to hook into it.

I believed also that we could do the merge ourselves and force git to commit the result, but discovered this was a bad idea. Imagine having to fire Pharo to merge a 250k OCaml project with 2k of st code in it :(

Git is very flexible which implies complexity for newcomers to it.
What is required on top of git is a "well defined" workflow.    I see
sometimes on this mail-list that people design their tools for
flexibility since they don't want to *impose* a workflow on people,
which is a commendable philosophy, but slows adoption by newcomers.
It may be useful to define "this is *the* way its done here" , with
the standard proviso that there may be missteps that need to be tuned.

Unless you have some experience of Monticello, Metacello, the Pharo workflow, some of the workflow outside Pharo, and git, then defining this workflow is shooting in the dark. So, first attempts are either:

- be flexible, so that you fit into a pre-existing workflow, and explore options,

- be dictatorial in your shot in the dark, and pray you got it right.

Now, we've solved all the hard points (apart from the Windows support), so we can imagine a future.

Thierry

Reply via email to