Most of our problems here is because we insist on being interchangeable between git and mcz. While treating git as “just another repository” can feel appealable in certain cases (for example, in the super-uncommon way of handle vm building we have, when we use git and Eliot uses squeak source, then we are kind of a mirror), this is not the most common usage: if you start a project on git, you are expected other contributors use git too… same as in any other SVC tool (there is not compatibility between SVN, HG, GIT, etc.)
Of course, it looked like a good idea at the beginning, but now I think is counterproductive (is the kind of ideas that are great at the beginning because it provides security/confortability to users, but with time demonstrate obsolete). What we actually need is tools that can load configurations from different sources (for example, I have a project in git who uses seaside and I want a configuration who loads both…). But… guess what? WE ALREADY HAVE IT!!!! Metacello is perfectly capable of doing that. Gofer is capable of doing that. Heck, even monticello is capable of doing that as long as we do not pretend their are interchangeable! So, again… what we actually need is to accept reality: we do not need all that metadata in 99% of cases! Esteban > On 08 Jul 2015, at 15:07, Thierry Goubier <[email protected]> wrote: > > > > 2015-07-08 14:51 GMT+02:00 Alexandre Bergel <[email protected] > <mailto:[email protected]>>: > This is frustrating…. > > I have followed the instruction given on > https://github.com/ThierryGoubier/GitFileTree-MergeDriver > <https://github.com/ThierryGoubier/GitFileTree-MergeDriver> > And I got: > > ~/HackathonSattose2015> git merge master > pathToGitFileTree-MergeDriver/merge --version .merge_file_WAu4Yh > .merge_file_WxznI2 .merge_file_ZmiIKE: pathToGitFileTree-MergeDriver/merge: > No such file or directory > fatal: Failed to execute internal merge > > Looks like a problem when installing the merge driver. > > pathToGitFileTree-MergeDriver shoudl not appear like that, so it seems the > make used to install wasn't successful. Can you show the result of > > $ git config --get merge.mcVersion.driver > > > Why do we need file tree? The simple fileout is not enough? Most of languages > have one file per class. I do not see why we need to be different on that. Or > maybe there is something obvious I am missing…. > > FileTree is a standardised format, cross-smalltalk compatible, browsable on > github, with a nice set of tests to make sure it keeps working across many > revisions of Squeak, Gemstone and Pharo. > > Maybe I will go back to Smalltalkhub afterall… > > Up to you ;) > > Thierry > > > Alexandre > > > > On Jul 8, 2015, at 2:21 PM, Otto Behrens <[email protected] > > <mailto:[email protected]>> 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 > > <[email protected] <mailto:[email protected]>> 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 <http://www.bergel.eu/> > >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >> > >> > >> > >> > > > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu <http://www.bergel.eu/> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > >
