Fast way to load package form github

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Fast way to load package form github

Uko2
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
Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Sven Van Caekenberghe-2
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 <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2
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 <[hidden email]> 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 <[hidden email]> 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
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2
Also if there is no better way, can anybody tell me how to add a configuration to pharo 3 meta repo? Can I get an access or I should send an .mcz to somebody?

Uko

On 26 Apr 2014, at 09:34, Yuriy Tymchuk <[hidden email]> wrote:

> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Sven Van Caekenberghe-2

On 26 Apr 2014, at 10:16, Yuriy Tymchuk <[hidden email]> wrote:

> Also if there is no better way, can anybody tell me how to add a configuration to pharo 3 meta repo? Can I get an access or I should send an .mcz to somebody?

Metacello is the best solution indeed.

If you are part of team 'Pharo' on StHub you can just copy the configuration. If you give me your username I can give you access.
Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Damien Cassou
In reply to this post by Uko2
On Sat, Apr 26, 2014 at 10:16 AM, Yuriy Tymchuk <[hidden email]> wrote:
> Also if there is no better way, can anybody tell me how to add a configuration to pharo 3 meta repo? Can I get an access or I should send an .mcz to somebody?


you now have an access. For loading SmaCC from github, the instructions are:


ConfigurationOfSmaCC ensureGitFileTree

Then, in Monticello, add a new git remote repository with this content:

MCFileTreeGitRemoteRepository
    location: '[hidden email]:ThierryGoubier/SmaCC.git'
    name: 'SmaCC'
    subdirectory: ''
    branch: 'pharo30-dev'


--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Goubier Thierry
In reply to this post by Uko2
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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 <[hidden email]> 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
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2
In reply to this post by Damien Cassou
Thank you very much. Are there any guidelines for Pharo meta repo? Because as far as I know one should also add some metadata about the project.

Uko

On 26 Apr 2014, at 10:51, Damien Cassou <[hidden email]> wrote:

> On Sat, Apr 26, 2014 at 10:16 AM, Yuriy Tymchuk <[hidden email]> wrote:
>> Also if there is no better way, can anybody tell me how to add a configuration to pharo 3 meta repo? Can I get an access or I should send an .mcz to somebody?
>
>
> you now have an access. For loading SmaCC from github, the instructions are:
>
>
> ConfigurationOfSmaCC ensureGitFileTree
>
> Then, in Monticello, add a new git remote repository with this content:
>
> MCFileTreeGitRemoteRepository
>    location: '[hidden email]:ThierryGoubier/SmaCC.git'
>    name: 'SmaCC'
>    subdirectory: ''
>    branch: 'pharo30-dev'
>
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
>


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2
In reply to this post by Goubier Thierry
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2
Ok, I’ve figured out all the details

Uko

On 26 Apr 2014, at 12:11, Yuriy Tymchuk <[hidden email]> wrote:

> 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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
>> 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 <[hidden email]> 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 <[hidden email]> 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
>>>
>>>
>>
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Goubier Thierry
In reply to this post by Uko2
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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

fstephany
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.


On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

abergel
+1 
It would be great to hear about this at ESUG

Alexandre

Le 26-04-2014 à 14:06, François Stephany <[hidden email]> a écrit :

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.


On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Goubier Thierry
In reply to this post by fstephany
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 [[hidden email]] de la part de François Stephany [[hidden email]]
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.


On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

SergeStinckwich
Thierry maybe you could start to write a chapter for Pharo for Entreprise that describe completly the git workfkow for Pharo. 

Envoyé de mon iPhone

Le 26 avr. 2014 à 19:32, GOUBIER Thierry <[hidden email]> a écrit :

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 [[hidden email]] de la part de François Stephany [[hidden email]]
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.


On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Ben Coman
In reply to this post by Goubier Thierry
GOUBIER Thierry 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.

But it helps newcomers need to see at least ONE workflow end-to-end, otherwise its hard to get a feel for the scope of the tool.  Then judgments can be made about how to use the tool to the existing work flow.  Also gitfiletree might be someone's for use of git, and so they have no existing work flow.
cheers -ben

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 [[hidden email]] de la part de François Stephany [[hidden email]]
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.


On Sat, Apr 26, 2014 at 4:46 PM, GOUBIER Thierry <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
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 <[hidden email]> 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 [[hidden email]] de la part de Yuriy Tymchuk [[hidden email]]
> 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 <[hidden email]> 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 <[hidden email]> 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
>>
>>
>
>
>





Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Johan Brichau-2
In reply to this post by Goubier Thierry

On 26 Apr 2014, at 16:46, GOUBIER Thierry <[hidden email]> wrote:

> That said, if you found a way to refer a specific commit via github://, I'd really like to know how :)

In metacello, you can do it [1,2]:

github:// <github user> / <github project>  [ : <version identifier> ] [ / <repository path> ]

Did I misunderstand your question?

cheers
Johan

[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md
[2] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md#github
Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Uko2

On 27 Apr 2014, at 11:22, Johan Brichau <[hidden email]> wrote:

>
> On 26 Apr 2014, at 16:46, GOUBIER Thierry <[hidden email]> wrote:
>
>> That said, if you found a way to refer a specific commit via github://, I'd really like to know how :)
>
> In metacello, you can do it [1,2]:
>
> github:// <github user> / <github project>  [ : <version identifier> ] [ / <repository path> ]
>
> Did I misunderstand your question?

Thank you, I’ve found this already.

Here is a little quid I wrote:

http://sleepycoders.blogspot.ch/2014/04/how-to-distribute-your-github-pharo.html

Cheers!
Uko


>
> cheers
> Johan
>
> [1] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md
> [2] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md#github


Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Goubier Thierry
In reply to this post by Johan Brichau-2
Hi Johan,

thanks for the answer, this is perfect :)

When reading the Metacello source, I didn't understand that you could, instead of the branch, use a tag or a commit ID as the version identifier.

Thierry
________________________________________
De : Pharo-dev [[hidden email]] de la part de Johan Brichau [[hidden email]]
Envoyé : dimanche 27 avril 2014 11:22
À : Pharo Development List
Objet : Re: [Pharo-dev] Fast way to load package form github

On 26 Apr 2014, at 16:46, GOUBIER Thierry <[hidden email]> wrote:

> That said, if you found a way to refer a specific commit via github://, I'd really like to know how :)

In metacello, you can do it [1,2]:

github:// <github user> / <github project>  [ : <version identifier> ] [ / <repository path> ]

Did I misunderstand your question?

cheers
Johan

[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md
[2] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md#github

Reply | Threaded
Open this post in threaded view
|

Re: Fast way to load package form github

Sean P. DeNigris
Administrator
Goubier Thierry wrote
I didn't understand that you could, instead of the branch, use a tag or a commit ID as the version identifier
Something interesting I read recently that helped me understand git better is that a "branch" is just a pointer to a commit, just like a release tag. The history of the branch is available, not because there is a "branch object" that stores/calculates it, but because commits are linked back to their ancestors. If you arbitrarily change the #myBranch pointer to point to a different commit, you'd automatically get that commit's history. So I'm seeing that there is a tree of commits, with references to various leaves, called "tag" or "branch" or "id" depending on the use context. IIRC even when you do a rebase it doesn't change that commit (call it x), but creates a new commit x' and changes the pointer to point to it.

I am a git beginner, so feel free to correct or augment the above...
Cheers,
Sean
12