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

GOUBIER Thierry thierry.goubier at cea.fr
Sat Apr 26 13:32:24 EDT 2014


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<mailto: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<mailto:pharo-dev-bounces at lists.pharo.org>] de la part de Yuriy Tymchuk [yuriy.tymchuk at me.com<mailto: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<mailto: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<http://github.com>)
>
> Thierry
> ________________________________________
> De : Pharo-dev [pharo-dev-bounces at lists.pharo.org<mailto:pharo-dev-bounces at lists.pharo.org>] de la part de Yuriy Tymchuk [yuriy.tymchuk at me.com<mailto: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<mailto: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<mailto: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/20140426/a41bfb58/attachment-0002.html>


More information about the Pharo-dev mailing list