[Pharo-dev] Video Tutorial - Github for Pharo using Sourcetree

Esteban Lorenzano estebanlm at gmail.com
Mon Dec 1 15:04:23 EST 2014


> On 01 Dec 2014, at 20:25, Dale Henrichs <dale.henrichs at gemtalksystems.com> wrote:
> 
> 
> 
> On Mon, Dec 1, 2014 at 10:39 AM, Thierry Goubier <thierry.goubier at gmail.com <mailto:thierry.goubier at gmail.com>> wrote:
> Le 01/12/2014 19:21, Esteban Lorenzano a écrit :
> 
> also, in a point (not now, but eventually)… we will need to drop
> something. The idea of keeping anything ad eternum just does not scales.
> 
> But it's a good way of delaying git integration in the Pharo platform by having to redesign the file format as well.
> 
> 
> Thierry,
> 
> Not sure if you are being sarcastic here:) 

he was, don’t worry :)
and as an aswer: yes, I’m not happy with filetree format, but I wouldn’t spend changing it until we have ready other parts of the tooling I think is necessary (using libgit2 instead osprocess for me is a must, while changing filetree format is just an enhancement)
but… in the not so far future the metadata *needs* to change, I’m sorry. Merging in complex project (more than one developer, in fact) can become a pain if we do not improve that… even with mergetools from Thierry, is too complicated). 

Esteban

> 
> I just don't see how the current FileTree format "delays git integration in the Pharo platform."
> 
> I consider git integrated into tODE and tODE uses FileTree. 
> 
> Perhaps it's a matter of approach. In tODE the git support is NOT centered on the package browser ... the git support is built into the "system browser" so you can look at git history from a class, method OR package perspective ... Other perspectives are possible as it is relatively straightforward to pull up the git history of any directory or file ... and git integration should include the ability to view diffs and merge non-smalltalk files...
> 
> A package is just one of the artifacts that is stored in a git repository. Monticello packages have Monticello characteristics ... Cypress packages without Monticello meta data[1] are another package format and they have slightly different characteristics than Monticello packages and they are equally supported by tODE. [To be fair the Cypress package support is still experimental but a year ago I was doing active development using tODE and Cypress packages in conjunction with Monticello packages].
> 
> FileTree intentionally supports Monticello-style packages so that the FileTree packages can leverage the existing Monticello-based tools like Metacello (I had to extend Metacello to support Cypress-based packages) or the Monticello Browser.
> 
> So at the end of the day, I think that git integration for Pharo depends upon a broader approach to integrating git-based tools throughout the tool eco-system. 
> 
> Once you start looking at a chunk of versioned disk as containing more than just Smalltalk source code there a numerous possibilities for building in-image tool support for distributing, sharing and maintaining documentation, workspaces, plugins, deployment scripts, etc. way beyond the limitations of a package ...
> 
> Dale
> 
> [1] https://github.com/rjsargent/CypressReferenceImplementation <https://github.com/rjsargent/CypressReferenceImplementation> 
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20141201/be50b9ce/attachment-0002.html>


More information about the Pharo-dev mailing list