Then this means the make in GitFileTree-MergeDriver hasn't worked. When you did the make, what was the output?
It is: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ~/Dropbox/Workspace/GitFileTree-MergeDriver> make mkdir pharo cd pharo; wget -O- get.pharo.org/30+vm | bash --2015-07-08 14:20:12-- http://get.pharo.org/30+vm Resolving get.pharo.org... 128.93.162.72 Connecting to get.pharo.org|128.93.162.72|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2901 (2.8K) [text/html] Saving to: 'STDOUT' - 100%[=====================>] 2.83K --.-KB/s in 0s 2015-07-08 14:20:12 (146 MB/s) - written to stdout [2901/2901] Downloading the latest 30 Image: http://files.pharo.org/get-files/30/pharo.zip Pharo.image Downloading the latest pharoVM: http://files.pharo.org/get-files/30/pharo-mac-stable.zip pharo-vm/Pharo.app/Contents/MacOS/Pharo Downloading PharoV30.sources: http://files.pharo.org/get-files/30/sources.zip Creating starter scripts pharo and pharo-ui pharo/pharo pharo/Pharo.image --no-default-preferences eval --save Gofer new url: \'http://smalltalkhub.com/mc/ThierryGoubier/Alt30/main/\'\; package: \'GitFileTree-MergeDriver\'\; load a GoferLoad git config --global merge.mcVersion.driver "`pwd`/merge --version %O %A %B" git config --global merge.mcMethodProperties.name "GitFileTree MergeDriver for Monticello" git config --global merge.mcMethodProperties.driver "`pwd`/merge --methodProperties %O %A %B" git config --global merge.mcProperties.name "GitFileTree MergeDriver for Monticello" git config --global merge.mcProperties.driver "`pwd`/merge --properties %O %A %B" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Please help :-) Alexandre
Okay, but we all agree this is very far from an ideal solution right?
No, I disagree.
I have been using it in production for the past 4 years, under conditions and constraints that Smalltalkhub and mcz can't handle (and never will).
Also, if I understand correctly, at each new repository I need to create a file .gitattributes :
*.package/monticello.meta/version merge=mcVersion *.package/*.class/methodProperties.json merge=mcMethodProperties *.package/*.class/properties.json merge=mcProperties *.package/*.extension/methodProperties.json merge=mcMethodProperties *.package/*.extension/properties.json merge=mcProperties
Yes, only once.
As you will setup also a .gitignore.
You'll notice that some of the github hosted Pharo repositories already have that file set.
Regards,
Thierry
Alexandre
On Jul 8, 2015, at 2:21 PM, Otto Behrens <otto@finworks.biz> wrote:
We have a .gitignore file that contains: version methodProperties.json
So, we don't bother.
The side effects of this are: Without methodProperties.json, you have the default author and meaningless timestamp. Without the version file, loading does not work properly. So we have a script that generates version files for each package before we load into the image. At first, this script counted versions for the package and got all the info from the git repository. But this was too expensive (because the file system became slow when traversing the git repo to find the meta data). So now, we just generate a version file with a fixed author, date & time now and a UUID & version number derived from the SHA1 of the .package directory.
We get all the meta-information directly from the git repo, using git tools. This can be better with GitFileTree.
So we really just use basics of Monticello & Metacello and do the rest externally from the image. We need to explore the available tools more.
On Wed, Jul 8, 2015 at 12:18 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Hi!
Do I still need to press the merge button in Monticello when I am working on a filtree git repository? I understand that no since the merging has to be done by Git, and not by monticello.
I tried to not do the merge in monticello, but I get some conflicts when doing the git merge. For example:
CONFLICT (content): Merge conflict in Hackathon.package/monticello.meta/version CONFLICT (content): Merge conflict in Hackathon.package/HProject.class/methodProperties.json CONFLICT (content): Merge conflict in Hackathon.package/HClass.class/methodProperties.json
Why do we need this methodProperties.json and version files? Shouldnât git handle this?
How should I merge these files? Any experience?
Cheers, Alexandre
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.