[Pharo-dev] Fast way to load package form github

François Stephany tulipe.moutarde at gmail.com
Mon Apr 28 05:37:11 EDT 2014


Thank you both for the details!

Haha, I understand if you prefere to be on your own for the bindings (at
least while it's still in construction).
Thierry, If you need some feedback for the merge conflict resolution, I'll
be glad to help. Just ask :)

Max, I don't know how is your master thesis schedule organized but if
you're interested, we can maybe try to allocate a summer of code with the
libgit2 integration?

Cheers,
Francois



On Mon, Apr 28, 2014 at 11:08 AM, Max Leske <maxleske at gmail.com> wrote:

>
> On 28.04.2014, at 10:42, François Stephany <tulipe.moutarde at gmail.com>
> wrote:
>
> Sounds *really* good!
>
> Do you have a time goal for this integration (even rough estimate)?
> Sorry if this sound stupid but are we far from an integration with, say,
> the "Changes" tool?
>
> If you need some help somewhere (money or manpower), I'm sure there are
> quite a few people interesting in donating for this (Ta Mère is).
>
>
> It’s on the way but we still have some way to go. I’ll be off the grid for
> the next 4 weeks and after that I’ll have to prepare for my exams. Still, I
> hope that I can show a prototype for using github around mid June (I’m
> pessimistic on purpose here). BTW: push and fetch via SSH / HTTPS already
> work (but you don’t want to see the code…).
>
> I’m glad you’re so enthusiastic but it’s a complex project and I don’t
> want to rush it (it’s also part of my master’s thesis btw).
>
> I’m posting updates from time to time with “FileSystem-Git update X” or
> similar in the subject if you want to follow. There’s also a dedicated
> mailing list: smalltalk-git at googlegroups.com
>
> To answer your questions:
> - no, there is no concrete plan other than “ships with Pharo4” (I hope…)
> - tool integration should be pretty straight forward once the bindings
> work. But I really can’t give you a date.
>
> As soon as there’s stuff that can be easily partitioned into workable
> chunks I’ll take to the mailing list. But I want to do the bindinds first,
> preferably on my own (requires a lot of special knowledge about git /
> libgit2 / NativeBoost). But thanks for the offer anyway. Much appreciated!
>
> Cheers,
> Max
>
>
>
> On Sat, Apr 26, 2014 at 7:32 PM, GOUBIER Thierry <thierry.goubier at cea.fr>wrote:
>
>>  Hi François,
>>
>> with gitfiletree://, there isn't any real place describing a
>> multi-developper workflow because it is designed to work along existing
>> workflows... as much as possible.
>>
>> In short, you work like you used to do in git, and gitfiletree ensures
>> that the commit are properly made, that you have access to your development
>> history (your true development history: the git one), and that pushes and
>> pulls are made as painless as possible.
>>
>> After, you just manage your git the way you like it. Branches, merging,
>> one branch per developper, whatever: gitfiletree:// will ensure that what
>> you see inside Pharo is what you have done in git, and that what you do in
>> Pharo is properly committed to git.
>>
>> Now, the bad thing: git merge conflicts :( When merging packages under
>> git, some files will regularly(allways :() conflict: the version history of
>> the package and the method properties. Whatever way you resolve those
>> conflicts, gitfiletree:// will cope because it never reads them, but,
>> still, having conflicts in git isn't cool.
>>
>> We have a better integration coming, through Max Leske work on
>> integrating libgit to Pharo, and we will be able to solve some of the
>> issues above ;)
>>
>> Thierry
>>
>>
>>  ------------------------------
>> *De :* Pharo-dev [pharo-dev-bounces at lists.pharo.org] de la part de
>> François Stephany [tulipe.moutarde at gmail.com]
>>
>> *Envoyé :* samedi 26 avril 2014 19:06
>> *À :* Pharo Development List
>> *Objet :* Re: [Pharo-dev] Fast way to load package form github
>>
>>     I'm a bit lost of what is currently possible to do with git in
>> Pharo. Is there a place where you describe your workflow in a
>> multi-developer environment?
>>
>>  We currently use git flow[1] for our iOS, Android and Rails apps. We
>> would love to use the same for Pharo. What we are doing now is using a
>> filetree repository under a src/ directory sitting next to the image. We
>> use versionner to save all our packages in the filetree tree and then we
>> `git commit/push`.
>>
>>  It was working fine while I was alone but we are now two developers
>> working on this and I do not feel confident about this flow; merging
>> filetree tree in CLI doesn't sound like a good idea. probably not be
>> practical.
>>
>>  The second developer is working on this since yesterday so we haven't
>> yet decided how we gonna handle this.
>>
>>  I would love to hear from people working with git and Pharo.
>>
>>
>> [1] http://nvie.com/posts/a-successful-git-branching-model/
>>
>>
>> On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <thierry.goubier at cea.fr>wrote:
>>
>>> Yuri,
>>>
>>> pure filetree will only allow you access to the latest version (HEAD) of
>>> the repository (and will only match if you load that precise version number
>>> as stored in the package metadata or if you don't specify a version
>>> number). You have to change the commit ID (and branch) via git clone, git
>>> checkout and git checkout -b before.
>>>
>>> github:// urls may be able to select a specific commit ID, but I don't
>>> know how. You can select the branch, however. Again, if you specify a
>>> version number for your package with a github:// url, the metadata of your
>>> package has to agree with you or it will refuse to load (you are able to
>>> see only the latest version of the package).
>>>
>>> gitfiletree:// urls allows you to select the branch and any version
>>> visible in the git history. Read-only gitfiletree:// urls reduce the git
>>> history to one commit, so all versions are listed as .1. (Note that
>>> gitfiletree:// urls with https are read-only).
>>>
>>> That said, if you found a way to refer a specific commit via github://,
>>> I'd really like to know how :)
>>>
>>> Thierry
>>> ________________________________________
>>> De : Pharo-dev [pharo-dev-bounces at lists.pharo.org] de la part de Yuriy
>>> Tymchuk [yuriy.tymchuk at me.com]
>>>  Envoyé : samedi 26 avril 2014 12:11
>>>  À : Pharo Development List
>>> Objet : Re: [Pharo-dev] Fast way to load package form github
>>>
>>> Do you know how to specify versions with pure filetree? I know that I
>>> can specify commit SHA or branch in URL, but can I somehow redefine version
>>> for a version definition?
>>>
>>> Uko
>>>
>>> On 26 Apr 2014, at 11:06, GOUBIER Thierry <thierry.goubier at cea.fr>
>>> wrote:
>>>
>>> > Yuri,
>>> >
>>> > I think the best would be a github:// url in a configuration.
>>> >
>>> > Shortest is something like:
>>> >
>>> > Gofer new
>>> >  url: 'http://smalltalkhub.com/mc/Yuri/ProjectOfYuri/main/';
>>> >  configurationOf: 'ProjectOfYuri';
>>> >  loadStable
>>> >
>>> > (with the github:// url inside ConfigurationOfProjectOfYuri)
>>> >
>>> > Note that I have added back https access to github in gitfiletree,
>>> but, still, it implies OSProcess and git command line access (but no need
>>> to register on github.com)
>>> >
>>> > Thierry
>>> > ________________________________________
>>> > De : Pharo-dev [pharo-dev-bounces at lists.pharo.org] de la part de
>>> Yuriy Tymchuk [yuriy.tymchuk at me.com]
>>> > Envoyé : samedi 26 avril 2014 09:34
>>> > À : Pharo Development List
>>> > Objet : Re: [Pharo-dev] Fast way to load package form github
>>> >
>>> > Yes, but this requires user to clone the repository, this is not as
>>> fast as just Gofer with Monticello. I know that there is a support for
>>> github:// URIs in Metacello, but as far as I remember they don’t work in
>>> Gofer.
>>> >
>>> > Uko
>>> >
>>> > On 26 Apr 2014, at 09:25, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>> >
>>> >> Gofer with a filetree:// URL as package ?
>>> >>
>>> >> Using the Monticello UI Tool you can just add a repo, select filetree
>>> as type and load any package.
>>> >>
>>> >> On 26 Apr 2014, at 09:21, Yuriy Tymchuk <yuriy.tymchuk at me.com> wrote:
>>> >>
>>> >>> Hi guys, sorry if there was already this question, but is there a
>>> fast way to load a package from github (saved with filetree)? I’m looking
>>> for some way to tell people: execute “this” and you will have my package in
>>> your image.
>>> >>>
>>> >>> Cheers
>>> >>> Uko
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>>
>>>
>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140428/44ba7ffd/attachment-0002.html>


More information about the Pharo-dev mailing list