Hi Sean,

Le 07/03/2015 18:46, Sean P. DeNigris a écrit :
There was a similar thread from 2013. I wonder what's changed...

The method I cobbled together from various threads was:
1. Load GitFileTree (available in the Config Browser in 3.0)
2. In MC Browser, '+Repository' -> 'Remote git repository':
     MCFileTreeGitRemoteRepository
        location: '[email protected]:rohitsukhwal/HelloWorld.git'
        name: 'whatever'
        subdirectory: ''
        branch: ''

A few questions:
1. name: 'whatever' seems weird. I put 'whatever' because its only
significance seems to be the directory to which the repo gets cloned (i.e.
imageDirectory/whatever). I assume I'm missing something...

Yes, name is not that clear. It's the name for the local repository, and I've set it so that you can work on two branches of the same repository (for example while developping filetree, work on the pharo3.0_dev and the pharo4.0_dev branches). This was to be able to merge between the two branches via MC... It was a bad idea, and its now useless due to the Merge Driver.

2. The following also successfully cloned the repo, but would not be
accepted in MC Browser's add repo template dialog... MCFileTreeGitRepository
fromZnUrl: (ZnUrl fromString:
'gitfiletree://github.com/rohitsukhwal/HelloWorld.git?protocol=git').
   a) How should it be used, or not?

In Gofer or Monticello, you can use those Urls.

For example, the following would work :

Gofer it
        url: 
'gitfiletree://github.com/rohitsukhwal/HelloWorld.git?protocol=git';
        package: 'HelloWorld';
        load

Adding that type of Url in both Gofer and Metacello requires overrides in Zn and Metacello: ugly :(:(

   b) Why does it clone into imageDirectory/gitHubProjectName, where #1 above
clones into ./name?

See above about the use of 'name'...

3. Since Metacello can apparently load from GitHub already, for write-only
repos, can that functionality be pushed into MC to be used e.g. with Gofer?
The method I found seems like a lot to ask, especially e.g. if you want
someone to take a quick look at a toy project with no Metacello config

Well, you already have the support of the GitFileTree urls in Gofer, which helps for those cases (say that protocol is https for a read-only, very fast clone with --depth=1)

Ideally, as mentioned in the 2013 thread, it would be great to have:
   Gofer it
     gitHubUser: user project: project;

But load what?

     load

The main goal of GitFileTree is supporting more than github (or bitbucket): gitorious, gitlab, notabug, etc...

In my opinion, Metacello + Baseline on any git repository solve the problem elegantly enough, and I'm not sure I'd like to see all the relevant gofer methods:

bibucketUser:project:
gitlabUser:project:
(gitorious is gone...)
notabugUser:project:

Not forgetting that you usually want to specify the branch as well.

Thierry

Reply via email to