[Pharo-dev] Github and Pharo

kilon alios kilon.alios at gmail.com
Mon Nov 4 05:13:34 EST 2013


I added the missing method to the class, adjusting it with the 'c:\' system
path, unfortunately now it complains that File pipeWriter is closed. So it
looks like it will need a more a careful look to make this work on windows.
Will try to examine closer.


On Mon, Nov 4, 2013 at 12:05 PM, Goubier Thierry <thierry.goubier at cea.fr>wrote:

>
> So far, from what I see, this is an OSProcess issue when under Windows, so
> it's a bit unfamiliar territory to me.
>
> The design of MonticelloFileTree-Git is to call the 'git' command line to
> do things, and it rely on OSProcess to provide the primitive. This was by
> far the fastest way to get things done :)
>
> Thierry
>
> Le 04/11/2013 10:49, kilon alios a écrit :
>
>> I can document this , but not before I get really familiar with the
>> process. Also I have not forgotten my promise to document Nativeboost,
>> expect a blog post about that really soon.
>>
>> I tried to use this in windows and I get a failure
>>
>> ExternalWindowsOSProcess class(Object)>>doesNotUnderstand:
>> #defaultShellPath
>> PipeableOSProcess
>> class>>command:environment:workingDir:input:output:error:
>> errorPipelineStream:shellSyntax:
>> PipeableOSProcess
>> class>>command:environment:workingDir:input:output:error:
>> errorPipelineStream:
>> PipeableOSProcess class>>command:
>> MCFileTreeGitRepository>>gitVersions
>> MCFileTreeGitRepository>>loadAncestry
>> MCFileTreeGitRepository>>loadAllFileNames in Block: [ :bar | ...
>> BlockClosure>>cull:
>> Job>>run in Block: [ result := block cull: self ]
>> BlockClosure>>on:do:
>> Job>>run in Block: [ ...
>> BlockClosure>>ensure:
>> Job>>run
>> MorphicUIManager(UIManager)>>displayProgress:from:to:during:
>> ByteString(String)>>displayProgressFrom:to:during:
>> MCFileTreeGitRepository>>loadAllFileNames
>> MCFileTreeGitRepository>>allFileNames
>> MCFileTreeGitRepository>>readableFileNames
>> MCFileTreeGitRepository>>packageDescriptionsFromReadableFileNames
>> MCFileTreeGitRepository(MCFileBasedRepository)>>
>> retrieveVersionsWithPackageNames:
>> MCFileTreeGitRepositoryInspector(MCFileRepositoryInspector)>>refresh
>> MCFileTreeGitRepositoryInspector(MCFileRepositoryInspector)>
>> >setRepository:workingCopy:
>> in Block: [ ...
>> BlockClosure>>newProcess in Block: [ ...
>>
>> I have loaded both OSProcess and OSWindows , are there other
>> dependencies on Windows I need to load ?
>>
>>
>>
>> On Mon, Nov 4, 2013 at 6:46 AM, Tudor Girba <tudor at tudorgirba.com
>> <mailto:tudor at tudorgirba.com>> wrote:
>>
>>     Exactly. This would be a valuable contribution. Screencasts would be
>>     very helpful as well.
>>
>>     Doru
>>
>>
>>
>>
>>     On Mon, Nov 4, 2013 at 12:04 AM, Stéphane Ducasse
>>     <stephane.ducasse at inria.fr <mailto:stephane.ducasse at inria.fr>> wrote:
>>
>>         one of you should write a blog entry on Git support and the
>>         process :)
>>         Because we will get this repeat that often.
>>
>>         Stef
>>
>>
>>
>>         On Nov 3, 2013, at 2:11 PM, kilon alios <kilon.alios at gmail.com
>>         <mailto:kilon.alios at gmail.com>> wrote:
>>
>>          ok it was my bad, i had not correctly initialized my git repo.
>>>         Now it works fine. Thanks for the help this awesome.
>>>
>>>
>>>         On Sun, Nov 3, 2013 at 2:56 PM, kilon alios
>>>         <kilon.alios at gmail.com <mailto:kilon.alios at gmail.com>> wrote:
>>>
>>>             I installed OSProcess but I get a new Error : Git Error :
>>>             bad default revision 'Head'
>>>
>>>             just to clarify i try to commit to an existing git repo
>>>             that I have create manually via terminal.
>>>
>>>
>>>             MCFileTreeGitRepository(Object)>>error:
>>>             MCFileTreeGitRepository>>gitVersions
>>>             MCFileTreeGitRepository>>loadAncestry
>>>             MCFileTreeGitRepository>>loadAllFileNames in Block: [ :bar
>>>             | ...
>>>             BlockClosure>>cull:
>>>             Job>>run in Block: [ result := block cull: self ]
>>>             BlockClosure>>on:do:
>>>             Job>>run in Block: [ ...
>>>             BlockClosure>>ensure:
>>>             Job>>run
>>>             MorphicUIManager(UIManager)>>displayProgress:from:to:during:
>>>             ByteString(String)>>displayProgressFrom:to:during:
>>>             MCFileTreeGitRepository>>loadAllFileNames
>>>             MCFileTreeGitRepository>>allFileNames
>>>             MCFileTreeGitRepository>>readableFileNames
>>>             MCFileTreeGitRepository(MCFileTreeRepository)>>
>>> allFileNamesForVersionNamed:
>>>             MCFileTreeGitRepository(MCDirectoryRepository)>>
>>> includesVersionNamed:
>>>             MCWorkingCopy>>uniqueVersionNameIn: in Block: [ ...
>>>             BlockClosure>>cull:
>>>             Job>>run in Block: [ result := block cull: self ]
>>>             BlockClosure>>on:do:
>>>             Job>>run in Block: [ ...
>>>             BlockClosure>>ensure:
>>>             Job>>run
>>>             MorphicUIManager(UIManager)>>displayProgress:from:to:during:
>>>             ByteString(String)>>displayProgressFrom:to:during:
>>>             MCWorkingCopy>>uniqueVersionNameIn:
>>>             MCWorkingCopy>>newVersionIn:
>>>             MCWorkingCopyBrowser>>basicSaveVersionIn: in Block: [ ...
>>>             WorldState>>runStepMethodsIn:
>>>
>>>
>>>
>>>             On Sun, Nov 3, 2013 at 2:40 PM, GOUBIER Thierry
>>>             <thierry.goubier at cea.fr <mailto:thierry.goubier at cea.fr>>
>>>
>>>             wrote:
>>>
>>>                 Oh sorry, the OSProcess dependency is missing :(
>>>
>>>                 You can install OSProcess from the configuration
>>>                 browser in your Pharo image or, on the command line :
>>>
>>>                 $ pharo Pharo.image config
>>>                 http://ss3.gemstone.com/ss/MetaRepoForPharo20
>>>                 ConfigurationOfOSProcess --install=stable
>>>
>>>                 Thierry
>>>
>>>                 ------------------------------
>>> ------------------------------------------
>>>                 *De :* Pharo-dev [pharo-dev-bounces at lists.pharo.org
>>>                 <mailto:pharo-dev-bounces at lists.pharo.org>] de la part
>>>                 de kilon alios [kilon.alios at gmail.com
>>>
>>>                 <mailto:kilon.alios at gmail.com>]
>>>                 *Date d'envoi :* dimanche 3 novembre 2013 13:30
>>>
>>>                 *À :* Pharo Development List
>>>                 *Objet :* Re: [Pharo-dev] Github and Pharo
>>>
>>>
>>>                 look like it cant find PipeableOSProcess on Macos, any
>>>                 idea where I can find this object ?
>>>
>>>                 UndefinedObject(Object)>>doesNotUnderstand: #command:
>>>                 MCFileTreeGitRepository>>gitVersions
>>>                 MCFileTreeGitRepository>>loadAncestry
>>>                 MCFileTreeGitRepository>>loadAllFileNames in Block: [
>>>                 :bar | ...
>>>                 BlockClosure>>cull:
>>>                 Job>>run in Block: [ result := block cull: self ]
>>>                 BlockClosure>>on:do:
>>>                 Job>>run in Block: [ ...
>>>                 BlockClosure>>ensure:
>>>                 Job>>run
>>>                 MorphicUIManager(UIManager)>>displayProgress:from:to:
>>> during:
>>>                 ByteString(String)>>displayProgressFrom:to:during:
>>>                 MCFileTreeGitRepository>>loadAllFileNames
>>>                 MCFileTreeGitRepository>>allFileNames
>>>                 MCFileTreeGitRepository>>readableFileNames
>>>                 MCFileTreeGitRepository(MCFileTreeRepository)>>
>>> allFileNamesForVersionNamed:
>>>                 MCFileTreeGitRepository(MCDirectoryRepository)>>
>>> includesVersionNamed:
>>>                 MCWorkingCopy>>uniqueVersionNameIn: in Block: [ ...
>>>                 BlockClosure>>cull:
>>>                 Job>>run in Block: [ result := block cull: self ]
>>>                 BlockClosure>>on:do:
>>>                 Job>>run in Block: [ ...
>>>                 BlockClosure>>ensure:
>>>                 Job>>run
>>>                 MorphicUIManager(UIManager)>>displayProgress:from:to:
>>> during:
>>>                 ByteString(String)>>displayProgressFrom:to:during:
>>>                 MCWorkingCopy>>uniqueVersionNameIn:
>>>                 MCWorkingCopy>>newVersionIn:
>>>                 MCWorkingCopyBrowser>>basicSaveVersionIn: in Block: [
>>> ...
>>>                 WorldState>>runStepMethodsIn:
>>>
>>>
>>>
>>>                 On Sun, Nov 3, 2013 at 12:41 PM, GOUBIER Thierry
>>>                 <thierry.goubier at cea.fr
>>>                 <mailto:thierry.goubier at cea.fr>> wrote:
>>>
>>>                     This is where you use GitFileTree.
>>>
>>>                     GitFileTree will do you the commit, browsing the
>>>                     git logs and accessing all versions of your
>>>                     package in the git repo (browsing, loading,
>>>                     changes with the same GUI and look as a
>>>                     smalltalkhub repo). It won't do the push,
>>>                     however(*). It will show you the current branch in
>>>                     the repo too (**).
>>>
>>>                     For pharo3, GitFileTree is available with:
>>>
>>>                     $ pharo Pharo.image eval --save Gofer new url:
>>>                     \'http://smalltalkhub.com/mc/ThierryGoubier/
>>> MonticelloFileTree-Git/main\
>>>                     <http://smalltalkhub.com/mc/ThierryGoubier/
>>> MonticelloFileTree-Git/main%5C>'\;
>>>
>>>                     package: \'MonticelloFileTree-Git\'\; load
>>>
>>>                     For pharo2, there is a group named
>>>                     'MonticelloFileTree-Git' in FileTree configuration.
>>>
>>>                     Feel free to ask if you have any questions or
>>>                     suggestions on it!
>>>
>>>                     Thierry
>>>
>>>                     (*) It would be easy to do commit + push in one
>>>                     go, but, I'm not sure I'd like to do a push each
>>>                     time I do a commit. I tend to prefer a push a day.
>>>                     Maybe something like a marker in the repository
>>>                     inspector to remind me I have something to push?
>>>                     (**) It doesn't change branches, and there is no
>>>                     support for branches in Monticello... This tend to
>>>                     trigger bugs in MC package cache.
>>>
>>>                     ------------------------------
>>> ------------------------------------------
>>>                     *De :* Pharo-dev
>>>                     [pharo-dev-bounces at lists.pharo.org
>>>                     <mailto:pharo-dev-bounces at lists.pharo.org>] de la
>>>
>>>                     part de kilon alios [kilon.alios at gmail.com
>>>                     <mailto:kilon.alios at gmail.com>]
>>>                     *Date d'envoi :* dimanche 3 novembre 2013 10:16
>>>
>>>                     *À :* Pharo Development List
>>>                     *Objet :* Re: [Pharo-dev] Github and Pharo
>>>
>>>
>>>                     Thank you for your efforts , I have installed
>>>                     filetree using the instructions provided in the
>>>                     github pages for pharo 3. I was also successful
>>>                     into generating the local files for my packages
>>>                     that I have inserted to my git folder. I can
>>>                     manually git commit and git push them from
>>>                     terminal but how I do this from inside
>>>                     Monticello-Filetree ?
>>>
>>>
>>>                     On Sun, Nov 3, 2013 at 9:53 AM, GOUBIER Thierry
>>>                     <thierry.goubier at cea.fr
>>>                     <mailto:thierry.goubier at cea.fr>> wrote:
>>>
>>>                         Hi,
>>>
>>>                         I've used github and work_owned git
>>>                         repositories as primary workplaces for more
>>>                         than a year. First with FileTree, then I wrote
>>>                         GitFileTree to make that process simpler.
>>>
>>>                         Thierry
>>>                         ------------------------------
>>> ------------------------------------------
>>>                         *De :* Pharo-dev
>>>                         [pharo-dev-bounces at lists.pharo.org
>>>                         <mailto:pharo-dev-bounces at lists.pharo.org>] de
>>>
>>>                         la part de kilon alios [kilon.alios at gmail.com
>>>                         <mailto:kilon.alios at gmail.com>]
>>>                         *Date d'envoi :* samedi 2 novembre 2013 14:59
>>>
>>>                         *À :* Pharo Development List
>>>                         *Objet :* [Pharo-dev] Github and Pharo
>>>
>>>
>>>                         So any information on how Pharo can be used
>>>                         with Github ?
>>>
>>>                         all I have is this
>>>
>>>                         https://github.com/dalehenrich/FSGit
>>>
>>>                         I dont need much, just basic git pull, push,
>>>                         clone, add and rm should do fine for starter.
>>>
>>>                         But of course I am interesting into learning
>>>                         what can be done, what is available , who
>>>                         needs help with what.  Github is something
>>>                         really important for me, so I am willing to
>>>                         contribute as much I can into bringing Pharo
>>>                         closer to it.
>>>
>>>                         My interest is using Github in place of
>>>                         smalltalkhub and squeaksource. I was planning
>>>                         to implement something like an App Store (not
>>>                         the purchase  system) for Pharo  libraries and
>>>                         I would love to use github as a backend to it
>>>                         and git of course.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>     --
>>     www.tudorgirba.com <http://www.tudorgirba.com>
>>
>>
>>     "Every thing has its own flow"
>>
>>
>>
> --
> Thierry Goubier
> CEA list
> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
> 91191 Gif sur Yvette Cedex
> France
> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131104/ee392201/attachment-0002.html>


More information about the Pharo-dev mailing list