2015-04-08 8:47 GMT+02:00 Peter Uhnák <i.uh...@gmail.com>: > I thnk that rather than focus on the disk format which I hardly ever >> actually look at ... that folks should be looking at tools support (like >> Thierry) ... this is where the real work needs to happen ... good tools can >> hide the disk fomat completely so why does the disk format matter ... > > I am personally not really a fan of this; I've been using git for a while > and I am perfectly content with using command line on the disk (maybe I'm > rare breed); I have yet to see a GUI/tool that would come even close to the > power of command line, but I've been using Linux for a long time. >
Agreed and this is in that spirit I did GitFileTree. Dale went a bit further and even integrated the git command line access inside smalltalk via CommandShell... so that you get the best of both worlds without leaving your beloved Smalltalk :) > As I've said to Thierry some time ago in different thread, I would be > interested in idea of having everything on disk side and Pharo would only > somehow refresh it's content (just like a Java IDE / text editor would). > But that may be a lot o work so I can only dream about it, as nobody has > time for that (me included). > Well, as I said elsewhere, Smalltalk doesn't work like that: code has to be lived in the image for most tools to work properly... it doesn't really have an "editor of file" mindset, but an "object inspector" mindset. What we're looking at in another thread is how to emulate that live object approach over dead files, and, thinking of it, I'm not sure we will succeed well. In short, what you want may never work properly because it is not how it should be conceptualized. > > But to bottom line this thread (for me at least, because I'm getting lost): > 1. methodProperties.json provide compatibility for FileTree, so I don't > want to get rid of it (for now) > 2. the large amount of file changes is probably a bug (I'll try to be more > observant about the commits in the future and hopefully some pattern will > emerge.) > 3. I shouldn't want to break things for now at least > 4. more people are starting to work on Git > 5. I need to learn about FileTree at some point if I want to contribute > and experiment with (my) ideas (which won't be soon as I'm preparing for my > finals) > Please ask around for 5. It is valuable to have to expose what we already know. Thierry > > Thanks for all your answers. > > Peter > > On Wed, Apr 8, 2015 at 7:24 AM, Thierry Goubier <thierry.goub...@gmail.com > > wrote: > >> Le 08/04/2015 02:05, Dale Henrichs a écrit : >> >>> Peter, >>> >>> That looks like a bug in the FileTree writer ... wiht one method change >>> there should have been only one method property file change ... >>> >> >> Yes, I'd agree. This is surprising. >> >> Unless you had been loading that package via another repository / another >> version / another branch before in the same image? >> >> MCMethodDefinition has a cache which consider equals methods with >> different timestamps, and, in that case, it would carry the timestamps of >> the previous version, and writing those upon save instead of the originals. >> >> Peter and Sean, >>> >>> If you are interested in contributing code/bugfixes to FileTree, I will >>> welcome pull requests ... As I have mentioned in several posts today, I >>> do not have the time to fiddle with changes to the FileTree format >>> myself, but I welcome contributions. >>> >>> Damien has started work on an updated version of the FileTree format[2]. >>> >>> I have threatened in the past to add an option to a repository that >>> would eliminate the need to store monticello meta data ... Damien is >>> working on "starting from scratch" on the new format, because the >>> current implementation supports 4-5 different FileTree formats. Damien's >>> work could be leveraged to add an "optional Monticello meta data" option >>> to FileTree and if your SCM (like git) gives you per method history with >>> the proper tools you can leverage that information.. >>> >> >> I would say this could be a reasonable possibility, in that you could >> have two modes of compatibility: >> >> - Complete filetree compatibility for gitfiletree: the current situation, >> with properties and version written to disk. >> >> - Partial filetree compatibility, where that metadata isn't written and >> you rely on gitfiletree to recreate it to export as .mcz. >> >> Partial compatibility has two effects, which need to be considered. When >> using github:// or bitbucket:// urls, filetree will be used and your >> packages will end up having no version number (except .1?), no author, no >> timestamps for methods, etc... And the second one is that, if you clone a >> mcz inside the gitfiletree repository, the mcz ancestry of versions and >> author timestamps on methods will be lost, which is something you may not >> want. >> >> Thierry >> >> As I ranted in another post ... changing the disk format is the easy >>> part ... building and maintaining tools for the 4-5 different Smalltalk >>> dialects is a different matter ... >>> >>> Dale >>> >>> [1] https://github.com/dalehenrich/filetree/issues >>> [2] https://github.com/dalehenrich/filetree/issues/144 >>> On 04/07/2015 04:38 PM, Peter Uhnák wrote: >>> >>>> Yeah, I do use the MergeDriver and it saved me a lot of headache, but >>>> when I see things like this >>>> >>>> https://github.com/dynacase/dynacase/commit/ >>>> 90141d63bfdd433e51a768c2191e035b76c5da83 >>>> >>>> where one five lines long method generated 14 file changes with 180 >>>> additions and 172 deletions... it makes the log on github and pull >>>> requests incredibly messy. >>>> >>>> I don't want to cut branch under myself if I were to remove the >>>> properties file. So my question now is: how hard would it be to >>>> regenerate those files? >>>> >>>> Or maybe if it was moved to some metadirectory. This reminds me a bit >>>> of svn which polluted the whole folder tree with .svn files everywhere. >>>> >>>> Peter >>>> >>>> >>>> >>>> On Wed, Apr 8, 2015 at 1:14 AM, Sean P. DeNigris >>>> <s...@clipperadams.com <mailto:s...@clipperadams.com>> wrote: >>>> >>>> Dale Henrichs-3 wrote >>>> > Personally I use >>>> > https://github.com/ThierryGoubier/GitFileTree-MergeDriver and >>>> never >>>> > think twice about the properties files ... >>>> >>>> Ooh, intriguing. In other to make it easier to view code on >>>> GitHub, I've >>>> been toying with the idea of generating one-class-per-file in >>>> addition to >>>> the regular gitfiletree files. Could this be used to make that >>>> possible >>>> without complicating Git? >>>> >>>> >>>> >>>> ----- >>>> Cheers, >>>> Sean >>>> -- >>>> View this message in context: >>>> http://forum.world.st/Metacello-GIT-methodProperties-json- >>>> tp4818097p4818233.html >>>> Sent from the Pharo Smalltalk Users mailing list archive at >>>> Nabble.com. >>>> >>>> >>>> >>> >> >> >