Le 10/09/2015 19:37, Alexandre Bergel a écrit :
Solving MC conflicts with tools like meld isn't fun. When it is for Metacello version files, it's allmost impossible to correct properly.
I do not see why. It works well for other languages, I see no reason why it would not work in Pharo.
That's because other languages have very poor, unstructured formats which predates Smalltalk, i.e. source files. And an horrible mess of unstructured information for building it: Makefiles, configure scripts, maven, cmake, shell scripts, you name it. Anything which tries to store anything more complex under text files in git (json data, xml data, csv data) has the same problem.
One question I have: is mcz the most appropriate? Why not simply doing a fileout of the package? And having one .st file per package.
You need the mcz (in fact, Monticello) support for versions to have Metacello: configurations, baselines and all the like. I think projects like Seaside and Moose would not be doable without that.
Well, if you have git, then the baseline is rather simple right?
Yes. Part of the attractiveness of git is that: version information is moved into the repository url instead of being in the mcz name.
But, all well considered, relying only on the underlying vcs for versions, but writing chunk files, could it work? With the gitfiletree framework, all version / meta information is external to the source files, so Metacello could use that and have everything it needs. Would someone be interested by that?
What do you mean by that? What you are suggesting, is it really more than fileout a source from a package? I am probably missing something obvious here.
No, it is just a fileout. Apart from dependencies, but nobody uses them except for SLICES. There are a few queries you can do on a git repository (search for method versions, class definition changes) where you have to use the filetree format and the chunk format won't work. But, honestly, nobody needs that: I am the only user in the Pharo community (i.e. you need AltBrowser + GitFileTree for that feature). Ah, yes, for the filetree format: it's a lot easier to browse the filetree format than the chunk on github:/, bitbucket:/, gitosis, gitlab, etc... It is also reasonably portable among dialects (ST/X, Squeak, Pharo, Gemstone, VW?) But it has a problem with long file names under windows. And it may be slow to write plenty of small files. Thierry
Cheers, Alexandre
Thierry
Alexandre
Le 9 sept. 2015 à 11:38, Thierry Goubier <thierry.goubier@gmail.com <mailto:thierry.goubier@gmail.com>> a écrit :
- A tool to resolve merge conflicts in Pharo. We should reuse the diff widget we have.
Dale proposed some tools: a diff parser/reader?
A reader for files with conflict markers.