[Pharo-users] Fossil and Filetree

Thierry Goubier thierry.goubier at gmail.com
Wed Oct 21 15:29:13 EDT 2015


Le 21/10/2015 21:09, Hilaire a écrit :
> Le 20/10/2015 16:32, Thierry Goubier a écrit :
>> Done. The configuration has been updated for Pharo3.
>>
>
> Où dois-je regarder ?
>

Look the following methods in MCFileTreeGitRepository,
protocole git querying:

gitBranchs
gitCloneRepositoryAndCheckoutIn:
gitNeedPush
gitPull
gitPush
gitVersions
gitVersionsForPackage:

and in i/o

writeRepositoryProperties

and in MCFileTreeGitStReader

zip

The two definition related methods (#zipForDefinition:, 
#gitVersionsForDefinition:in:) are optional: they allow you to query 
method versions in the git repository as if it was the change set, and 
they are only available from the AltBrowser IDE.

For an adaptation to Fossil, I believe all the main code can be reused 
(same use of SHA-1 commit ids, branches, monticello metadata recreation) 
with very similar commands (fossil x instead of git x). The main 
difference being, as far as I know, the use of git archive to retrieve a 
zip containing a version of a package; I haven't seen the equivalent 
command in Fossil.

The base OSProcess / ProcessWrapper code is a bit long, but I prefer to 
keep it that way for reliability reasons: it took me a long time 
(literaly years) to reach a stable solution on Unix. 
(MCFileTreeGitRepository>>#runOSProcessGitCommand:in:)

Thierry




More information about the Pharo-users mailing list