Le 29/11/2014 13:15, kilon alios a écrit :

"For a true 'doing something with it', you have to look into what Dale
Henrichs has done with tODE. He is, as far as I could read, a long way
up front us."

no idea what tODE is doing, I have seen some demos but I have not
understand it.

What I know is that Dale has brought together everything git and smalltalk need:
- The merge driver,
- a Meld equivalent,
- a Project idea (saving multiple packages as a single commit)
- Filetree and git.

I haven't checked how he has done that in the detail; we just know this was what was needed (and if there is an effort in that direction, I'll know where to get the pieces).

"Filetree metadata is a pain in the ass when merging and Thierry's tool
solves that."

yeah I have seen that he mention that json is binary file .... this is
weird choice why choose a binary file for version controlling . I
thought json file are text files.

You have both: you have a text file containing the version information (and ancestry), and you have properties in Json files (class definitions, method timestamps).

This is usual and listed in the git documentation (or any VCS). Git decides whether a file is text-based or binary and uses different diff and merge strategies accordingly.

Text based git strategies only work if changes in the files can be resumed by adding or removing lines.

a) If your text file is a single line -> doesn't work -> conflict
b) If your changes occur over a single line -> probable conflict when merging c) If your text file contains a complex tree structure -> adding/removing lines doesn't work.

Version metadata is a), b) and c). Json is a) and b) in FileTree case.

"Also realize that SourceTree is not available in Linux. "

have you watched my video tutorial ? I already provide a very good
solution for that too :)

anyway I am new to all this but not new to git , though I have to
confess I have done like one pull request and very few merges, so I will
postpone the tutorials for now for when I feel more comfortable with
using the tools .

I recently did a merge between the pharo3.0 and the pharo4.0 branches of AltBrowser; if you are interested, you can have a look and try to reproduce it (by doing a checkout of the pharo4.0 branch to the commit id just before the merge and merging with pharo3.0 again. Doing it with and without the merge driver could be interesting).

Keeping in sync your clone of AltBrowser with the fixes I push could be a nice example as well.

Thierry


Reply via email to