Pharo + git workflow

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

Pharo + git workflow

NorbertHartl
I'm eager to try a new project with some git repositories. But to be honest I don't really get it. Searching the web there is lots to find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it only works with a BaselineOf. And how do you specify the repository in a ConfigurationOf in order to be able to work locally as well as having jenkins pull everything automatically? Same goes for dependent projects.

Are there any insights to this or pointers to an up-to-date documentation?

thanks,

Norbert
Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

EstebanLM
Hi Norbert, 

I think this article by Yuriy describes pretty fine how to work with Baselines, Configurations and GitHub. 


cheers!
Esteban 

ps: In fact, I would like to include it as “official documentation” :P

On 25 Jan 2016, at 18:09, Norbert Hartl <[hidden email]> wrote:

I'm eager to try a new project with some git repositories. But to be honest I don't really get it. Searching the web there is lots to find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it only works with a BaselineOf. And how do you specify the repository in a ConfigurationOf in order to be able to work locally as well as having jenkins pull everything automatically? Same goes for dependent projects.

Are there any insights to this or pointers to an up-to-date documentation?

thanks,

Norbert

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

SergeStinckwich
In reply to this post by NorbertHartl
Maybe you can contribute to:

https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/GitAndPharo/GitAndPharo.old.pdf

and there are new chapters:

https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/GitAndPharo/GitAndPharo.pdf


On Mon, Jan 25, 2016 at 6:09 PM, Norbert Hartl <[hidden email]> wrote:
> I'm eager to try a new project with some git repositories. But to be honest I don't really get it. Searching the web there is lots to find but nothing actual.
>
> I don't understand if it is ok to use a ConfigurationOf or if it only works with a BaselineOf. And how do you specify the repository in a ConfigurationOf in order to be able to work locally as well as having jenkins pull everything automatically? Same goes for dependent projects.
>
> Are there any insights to this or pointers to an up-to-date documentation?
>
> thanks,
>
> Norbert



--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by EstebanLM
Thanks Esteban,

in the tutorial there is a mentioning that one can use bitbucket as well. When I try using a bitbucket url for a repository I get an 

ZnUnknownScheme 

error. Is there any prerequisite for using different schemes. I loaded newest zinc http without success.

thanks,

Norbert

Am 25.01.2016 um 18:14 schrieb Esteban Lorenzano <[hidden email]>:

Hi Norbert, 

I think this article by Yuriy describes pretty fine how to work with Baselines, Configurations and GitHub. 


cheers!
Esteban 

ps: In fact, I would like to include it as “official documentation” :P

On 25 Jan 2016, at 18:09, Norbert Hartl <[hidden email]> wrote:

I'm eager to try a new project with some git repositories. But to be honest I don't really get it. Searching the web there is lots to find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it only works with a BaselineOf. And how do you specify the repository in a ConfigurationOf in order to be able to work locally as well as having jenkins pull everything automatically? Same goes for dependent projects.

Are there any insights to this or pointers to an up-to-date documentation?

thanks,

Norbert


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by NorbertHartl

> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]>:
>
> I'm eager to try a new project with some git repositories. But to be honest I don't really get it. Searching the web there is lots to find but nothing actual.
>
> I don't understand if it is ok to use a ConfigurationOf or if it only works with a BaselineOf. And how do you specify the repository in a ConfigurationOf in order to be able to work locally as well as having jenkins pull everything automatically? Same goes for dependent projects.
>
> Are there any insights to this or pointers to an up-to-date documentation?
>
My own insights so far when using git:

- I need to use BaselineOf instead of ConfigurationOf. Thus you cannot use Versionner anymore
- I need to load metacello-work from github in order to use bitbucket:// repositories
- Metacello downloads a zip file from the repository to install code. I have no glue how I can download things locally in order to work on the code
- Specifying a path to access a sub-directory of the repository seems not to be possible
- I don't know where to specify credentials because I have a private repo on bitbucket

My conclusion is that if you don't want to use versionner and you have public projects on github using that stuff might seem feasible. If any of those is different it won't work. Right?

Norbert





Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
Hi Norbert,

Le 25/01/2016 20:01, Norbert Hartl a écrit :

>
>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]>:
>>
>> I'm eager to try a new project with some git repositories. But to
>> be honest I don't really get it. Searching the web there is lots to
>> find but nothing actual.
>>
>> I don't understand if it is ok to use a ConfigurationOf or if it
>> only works with a BaselineOf. And how do you specify the repository
>> in a ConfigurationOf in order to be able to work locally as well as
>> having jenkins pull everything automatically? Same goes for
>> dependent projects.
>>
>> Are there any insights to this or pointers to an up-to-date
>> documentation?
>>
> My own insights so far when using git:
>
> - I need to use BaselineOf instead of ConfigurationOf. Thus you
> cannot use Versionner anymore

You can use ConfigurationOf. BaselineOf is only there to help.

> - I need to load metacello-work from github in order to use
> bitbucket:// repositories

This should be an issue for Pharo.

> - Metacello downloads a zip file from the repository to install code.
> I have no glue how I can download things locally in order to work on
> the code

Metacello github:// and bitbucket:// urls are only for read-only access
to the packages (distribution).

Metacello install the contents of the zip into a path composed of
github-cache (or bitbucket-cache I guess), the repository name, person
name, commit id or version as a filetree repository. You can add that
repository as a filetree repository inside Monticello if you want. But
it is read-only.

Download locally is done by either a git clone on the command line or by
a GitFileTree remote repository addition.

> - Specifying a path to access a sub-directory of the repository seems
> not to be possible

It is: url format is
[github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.

It is also allways possible to reopen a filetree or a gitfiletree repo
on a sub-directory of the main repository... this is how FileTree itself
is tested for integration.

> - I don't know where to specify credentials because I have a private
> repo on bitbucket

If you have a ssh key, then GitFileTree will pick it up for you.

> My conclusion is that if you don't want to use versionner and you
> have public projects on github using that stuff might seem feasible.
> If any of those is different it won't work. Right?

No, it works and has been working for git access to private
repositories, bitbucket included, for years... at least on Linux ;)

Thierry

> Norbert
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

EstebanLM

On 25 Jan 2016, at 20:45, Thierry Goubier <[hidden email]> wrote:

Hi Norbert,

Le 25/01/2016 20:01, Norbert Hartl a écrit :

Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]>:

I'm eager to try a new project with some git repositories. But to
be honest I don't really get it. Searching the web there is lots to
find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it
only works with a BaselineOf. And how do you specify the repository
in a ConfigurationOf in order to be able to work locally as well as
having jenkins pull everything automatically? Same goes for
dependent projects.

Are there any insights to this or pointers to an up-to-date
documentation?

My own insights so far when using git:

- I need to use BaselineOf instead of ConfigurationOf. Thus you
cannot use Versionner anymore

You can use ConfigurationOf. BaselineOf is only there to help.

… but is better to use it :)
and yes, versionner needs to be adapted. 


- I need to load metacello-work from github in order to use
bitbucket:// repositories

This should be an issue for Pharo.

not anymore, Pharo5 is updated.

cheers!
Esteban


- Metacello downloads a zip file from the repository to install code.
I have no glue how I can download things locally in order to work on
the code

Metacello github:// and bitbucket:// urls are only for read-only access
to the packages (distribution).

Metacello install the contents of the zip into a path composed of
github-cache (or bitbucket-cache I guess), the repository name, person
name, commit id or version as a filetree repository. You can add that
repository as a filetree repository inside Monticello if you want. But
it is read-only.

Download locally is done by either a git clone on the command line or by
a GitFileTree remote repository addition.

- Specifying a path to access a sub-directory of the repository seems
not to be possible

It is: url format is
[github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.

It is also allways possible to reopen a filetree or a gitfiletree repo
on a sub-directory of the main repository... this is how FileTree itself
is tested for integration.

- I don't know where to specify credentials because I have a private
repo on bitbucket

If you have a ssh key, then GitFileTree will pick it up for you.

My conclusion is that if you don't want to use versionner and you
have public projects on github using that stuff might seem feasible.
If any of those is different it won't work. Right?

No, it works and has been working for git access to private repositories, bitbucket included, for years... at least on Linux ;)

Thierry

Norbert

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by Thierry Goubier
Hi Thierry,

Am 25.01.2016 um 20:45 schrieb Thierry Goubier <[hidden email]>:

Hi Norbert,

Le 25/01/2016 20:01, Norbert Hartl a écrit :

Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]>:

I'm eager to try a new project with some git repositories. But to
be honest I don't really get it. Searching the web there is lots to
find but nothing actual.

I don't understand if it is ok to use a ConfigurationOf or if it
only works with a BaselineOf. And how do you specify the repository
in a ConfigurationOf in order to be able to work locally as well as
having jenkins pull everything automatically? Same goes for
dependent projects.

Are there any insights to this or pointers to an up-to-date
documentation?

My own insights so far when using git:

- I need to use BaselineOf instead of ConfigurationOf. Thus you
cannot use Versionner anymore

You can use ConfigurationOf. BaselineOf is only there to help.

Ok, good to know.

- I need to load metacello-work from github in order to use
bitbucket:// repositories

This should be an issue for Pharo.

- Metacello downloads a zip file from the repository to install code.
I have no glue how I can download things locally in order to work on
the code

Metacello github:// and bitbucket:// urls are only for read-only access
to the packages (distribution).

Metacello install the contents of the zip into a path composed of
github-cache (or bitbucket-cache I guess), the repository name, person
name, commit id or version as a filetree repository. You can add that
repository as a filetree repository inside Monticello if you want. But
it is read-only.

That is ok if you produce a deployment artefact, e.g. with jenkins. But there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.

Download locally is done by either a git clone on the command line or by
a GitFileTree remote repository addition.

- Specifying a path to access a sub-directory of the repository seems
not to be possible

It is: url format is
[github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.

It works without sub-directory. With it throws an error

'Git error: Cloning into ''st''...
conq: invalid command syntax.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
'


It is also allways possible to reopen a filetree or a gitfiletree repo
on a sub-directory of the main repository... this is how FileTree itself
is tested for integration.

- I don't know where to specify credentials because I have a private
repo on bitbucket

If you have a ssh key, then GitFileTree will pick it up for you.

Yes, that is my preferred way, too. 

My conclusion is that if you don't want to use versionner and you
have public projects on github using that stuff might seem feasible.
If any of those is different it won't work. Right?

No, it works and has been working for git access to private repositories, bitbucket included, for years... at least on Linux ;)

Ok, thanks, if the sub-directory stuff would work it would be ok to jump in. Maybe there is a way to tweak the url in the baseline. It would remove the need to install gitfiletree in a deployment artefact. We'll see.

Thanks again,

Norbert


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
Hi Norbert,

Le 25/01/2016 21:17, Norbert Hartl a écrit :

> Hi Thierry,
>
>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>> <[hidden email] <mailto:[hidden email]>>:
>>
>> Hi Norbert,
>>
>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>
>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>> <mailto:[hidden email]>>:
>>>>
>>>> I'm eager to try a new project with some git repositories. But to
>>>> be honest I don't really get it. Searching the web there is lots to
>>>> find but nothing actual.
>>>>
>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>> only works with a BaselineOf. And how do you specify the repository
>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>> having jenkins pull everything automatically? Same goes for
>>>> dependent projects.
>>>>
>>>> Are there any insights to this or pointers to an up-to-date
>>>> documentation?
>>>>
>>> My own insights so far when using git:
>>>
>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>> cannot use Versionner anymore
>>
>> You can use ConfigurationOf. BaselineOf is only there to help.
>>
> Ok, good to know.
>
>>> - I need to load metacello-work from github in order to use
>>> bitbucket:// repositories
>>
>> This should be an issue for Pharo.
>>
>>> - Metacello downloads a zip file from the repository to install code.
>>> I have no glue how I can download things locally in order to work on
>>> the code
>>
>> Metacello github:// and bitbucket:// urls are only for read-only access
>> to the packages (distribution).
>>
>> Metacello install the contents of the zip into a path composed of
>> github-cache (or bitbucket-cache I guess), the repository name, person
>> name, commit id or version as a filetree repository. You can add that
>> repository as a filetree repository inside Monticello if you want. But
>> it is read-only.
>>
> That is ok if you produce a deployment artefact, e.g. with jenkins. But
> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>
>> Download locally is done by either a git clone on the command line or by
>> a GitFileTree remote repository addition.
>>
>>> - Specifying a path to access a sub-directory of the repository seems
>>> not to be possible
>>
>> It is: url format is
>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>
> It works without sub-directory. With it throws an error
>
> 'Git error: Cloning into ''st''...
> conq: invalid command syntax.
> fatal: Could not read from remote repository.
>
> Please make sure you have the correct access rights
> and the repository exists.

Oh, I see. You're using the stable version of GitFileTree in Pharo4,
isn't it?

I haven't pushed the changes for the url syntax in that version. So the
old syntax becomes:

gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit

My problem is that the new url syntax is in the same package as the
metadata-less mode of GitFileTree, and that mode supposes a fix to
FileTree (a single method!). Maybe I'll switch the Pharo4 development
version to not create metadata-less repositories.

>> It is also allways possible to reopen a filetree or a gitfiletree repo
>> on a sub-directory of the main repository... this is how FileTree itself
>> is tested for integration.
>>
>>> - I don't know where to specify credentials because I have a private
>>> repo on bitbucket
>>
>> If you have a ssh key, then GitFileTree will pick it up for you.
>>
> Yes, that is my preferred way, too.

Well, that one really had to work :)

>>> My conclusion is that if you don't want to use versionner and you
>>> have public projects on github using that stuff might seem feasible.
>>> If any of those is different it won't work. Right?
>>
>> No, it works and has been working for git access to private
>> repositories, bitbucket included, for years... at least on Linux ;)
>>
> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
> in. Maybe there is a way to tweak the url in the baseline. It would
> remove the need to install gitfiletree in a deployment artefact. We'll see.

In a deployment artefact, then it becomes a bit different because your
repo is then public.

What I did for a Pharo4 deployment was to write a context dependent
Makefile which uses filetree if I'm dealing with an archive of my
artefact, and gitfiletree if it is build from a development repo.

> Thanks again,

You're welcome. I'll update GitFileTree for Pharo4 soon and recommend
that you use the development version.

Thierry

> Norbert
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Hi Norbert,

the latest development version of GitFileTree for Pharo4 has the new url
syntax and does not create metadata-less repositories by default.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by Thierry Goubier
Hi Thierry,

> Am 25.01.2016 um 21:36 schrieb Thierry Goubier <[hidden email]>:
>
> Hi Norbert,
>
> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>> Hi Thierry,
>>
>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>> <[hidden email] <mailto:[hidden email]>>:
>>>
>>> Hi Norbert,
>>>
>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>
>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>>> <mailto:[hidden email]>>:
>>>>>
>>>>> I'm eager to try a new project with some git repositories. But to
>>>>> be honest I don't really get it. Searching the web there is lots to
>>>>> find but nothing actual.
>>>>>
>>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>>> only works with a BaselineOf. And how do you specify the repository
>>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>>> having jenkins pull everything automatically? Same goes for
>>>>> dependent projects.
>>>>>
>>>>> Are there any insights to this or pointers to an up-to-date
>>>>> documentation?
>>>>>
>>>> My own insights so far when using git:
>>>>
>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>>> cannot use Versionner anymore
>>>
>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>
>> Ok, good to know.
>>
>>>> - I need to load metacello-work from github in order to use
>>>> bitbucket:// repositories
>>>
>>> This should be an issue for Pharo.
>>>
>>>> - Metacello downloads a zip file from the repository to install code.
>>>> I have no glue how I can download things locally in order to work on
>>>> the code
>>>
>>> Metacello github:// and bitbucket:// urls are only for read-only access
>>> to the packages (distribution).
>>>
>>> Metacello install the contents of the zip into a path composed of
>>> github-cache (or bitbucket-cache I guess), the repository name, person
>>> name, commit id or version as a filetree repository. You can add that
>>> repository as a filetree repository inside Monticello if you want. But
>>> it is read-only.
>>>
>> That is ok if you produce a deployment artefact, e.g. with jenkins. But
>> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>>
>>> Download locally is done by either a git clone on the command line or by
>>> a GitFileTree remote repository addition.
>>>
>>>> - Specifying a path to access a sub-directory of the repository seems
>>>> not to be possible
>>>
>>> It is: url format is
>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>
>> It works without sub-directory. With it throws an error
>>
>> 'Git error: Cloning into ''st''...
>> conq: invalid command syntax.
>> fatal: Could not read from remote repository.
>>
>> Please make sure you have the correct access rights
>> and the repository exists.
>
> Oh, I see. You're using the stable version of GitFileTree in Pharo4, isn't it?
>
Yes.

> I haven't pushed the changes for the url syntax in that version. So the old syntax becomes:
>
> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>
Does not work for me. Same error.

> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>
>>> It is also allways possible to reopen a filetree or a gitfiletree repo
>>> on a sub-directory of the main repository... this is how FileTree itself
>>> is tested for integration.
>>>
>>>> - I don't know where to specify credentials because I have a private
>>>> repo on bitbucket
>>>
>>> If you have a ssh key, then GitFileTree will pick it up for you.
>>>
>> Yes, that is my preferred way, too.
>
> Well, that one really had to work :)
>
It is a good approach. I guess the pharo code uses the library and the library uses ssh. And ssh inquires ssh-agent. Exactly as it should IMHO.

>>>> My conclusion is that if you don't want to use versionner and you
>>>> have public projects on github using that stuff might seem feasible.
>>>> If any of those is different it won't work. Right?
>>>
>>> No, it works and has been working for git access to private
>>> repositories, bitbucket included, for years... at least on Linux ;)
>>>
>> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
>> in. Maybe there is a way to tweak the url in the baseline. It would
>> remove the need to install gitfiletree in a deployment artefact. We'll see.
>
> In a deployment artefact, then it becomes a bit different because your repo is then public.
>
Why so? Because specifying the credentials is not possible?

> What I did for a Pharo4 deployment was to write a context dependent Makefile which uses filetree if I'm dealing with an archive of my artefact, and gitfiletree if it is build from a development repo.
>
To me it boils down to what you can utilize in jenkins.

>> Thanks again,
>
> You're welcome. I'll update GitFileTree for Pharo4 soon and recommend that you use the development version.
>
Good to hear. I'll test the development version then.

thanks,

Norbert


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by Thierry Goubier
Hi,

> Am 25.01.2016 um 21:36 schrieb Thierry Goubier <[hidden email]>:
>
> Hi Norbert,
>
> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>> Hi Thierry,
>>
>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>> <[hidden email] <mailto:[hidden email]>>:
>>>
>>> Hi Norbert,
>>>
>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>
>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>>> <mailto:[hidden email]>>:
>>>>>
>>>>> I'm eager to try a new project with some git repositories. But to
>>>>> be honest I don't really get it. Searching the web there is lots to
>>>>> find but nothing actual.
>>>>>
>>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>>> only works with a BaselineOf. And how do you specify the repository
>>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>>> having jenkins pull everything automatically? Same goes for
>>>>> dependent projects.
>>>>>
>>>>> Are there any insights to this or pointers to an up-to-date
>>>>> documentation?
>>>>>
>>>> My own insights so far when using git:
>>>>
>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>>> cannot use Versionner anymore
>>>
>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>
>> Ok, good to know.
>>
>>>> - I need to load metacello-work from github in order to use
>>>> bitbucket:// repositories
>>>
>>> This should be an issue for Pharo.
>>>
>>>> - Metacello downloads a zip file from the repository to install code.
>>>> I have no glue how I can download things locally in order to work on
>>>> the code
>>>
>>> Metacello github:// and bitbucket:// urls are only for read-only access
>>> to the packages (distribution).
>>>
>>> Metacello install the contents of the zip into a path composed of
>>> github-cache (or bitbucket-cache I guess), the repository name, person
>>> name, commit id or version as a filetree repository. You can add that
>>> repository as a filetree repository inside Monticello if you want. But
>>> it is read-only.
>>>
>> That is ok if you produce a deployment artefact, e.g. with jenkins. But
>> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>>
>>> Download locally is done by either a git clone on the command line or by
>>> a GitFileTree remote repository addition.
>>>
>>>> - Specifying a path to access a sub-directory of the repository seems
>>>> not to be possible
>>>
>>> It is: url format is
>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>
>> It works without sub-directory. With it throws an error
>>
>> 'Git error: Cloning into ''st''...
>> conq: invalid command syntax.
>> fatal: Could not read from remote repository.
>>
>> Please make sure you have the correct access rights
>> and the repository exists.
>
> Oh, I see. You're using the stable version of GitFileTree in Pharo4, isn't it?
>
> I haven't pushed the changes for the url syntax in that version. So the old syntax becomes:
>
> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>
> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>
>>> It is also allways possible to reopen a filetree or a gitfiletree repo
>>> on a sub-directory of the main repository... this is how FileTree itself
>>> is tested for integration.
>>>
>>>> - I don't know where to specify credentials because I have a private
>>>> repo on bitbucket
>>>
>>> If you have a ssh key, then GitFileTree will pick it up for you.
>>>
>> Yes, that is my preferred way, too.
>
> Well, that one really had to work :)
>
>>>> My conclusion is that if you don't want to use versionner and you
>>>> have public projects on github using that stuff might seem feasible.
>>>> If any of those is different it won't work. Right?
>>>
>>> No, it works and has been working for git access to private
>>> repositories, bitbucket included, for years... at least on Linux ;)
>>>
>> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
>> in. Maybe there is a way to tweak the url in the baseline. It would
>> remove the need to install gitfiletree in a deployment artefact. We'll see.
>
> In a deployment artefact, then it becomes a bit different because your repo is then public.
>
> What I did for a Pharo4 deployment was to write a context dependent Makefile which uses filetree if I'm dealing with an archive of my artefact, and gitfiletree if it is build from a development repo.
>
>> Thanks again,
>
> You're welcome. I'll update GitFileTree for Pharo4 soon and recommend that you use the development version.

If I have installed stable version and do

ConfigurationOfGitFileTree loadDevelopment

it breaks zinc and the image is unusable :) Looks like a modification in Zinc-Resource-Meta-Core.

Norbert
Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Le 25/01/2016 22:03, Norbert Hartl a écrit :

> Hi Thierry,
>
>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier
>> <[hidden email]>:
>>
>> Hi Norbert,
>>
>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>> Hi Thierry,
>>>
>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>> <[hidden email]
>>>> <mailto:[hidden email]>>:
>>>>
>>>> Hi Norbert,
>>>>
>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>
>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl
>>>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>>>
>>>>>> I'm eager to try a new project with some git repositories.
>>>>>> But to be honest I don't really get it. Searching the web
>>>>>> there is lots to find but nothing actual.
>>>>>>
>>>>>> I don't understand if it is ok to use a ConfigurationOf or
>>>>>> if it only works with a BaselineOf. And how do you specify
>>>>>> the repository in a ConfigurationOf in order to be able to
>>>>>> work locally as well as having jenkins pull everything
>>>>>> automatically? Same goes for dependent projects.
>>>>>>
>>>>>> Are there any insights to this or pointers to an
>>>>>> up-to-date documentation?
>>>>>>
>>>>> My own insights so far when using git:
>>>>>
>>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus
>>>>> you cannot use Versionner anymore
>>>>
>>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>>
>>> Ok, good to know.
>>>
>>>>> - I need to load metacello-work from github in order to use
>>>>> bitbucket:// repositories
>>>>
>>>> This should be an issue for Pharo.
>>>>
>>>>> - Metacello downloads a zip file from the repository to
>>>>> install code. I have no glue how I can download things
>>>>> locally in order to work on the code
>>>>
>>>> Metacello github:// and bitbucket:// urls are only for
>>>> read-only access to the packages (distribution).
>>>>
>>>> Metacello install the contents of the zip into a path composed
>>>> of github-cache (or bitbucket-cache I guess), the repository
>>>> name, person name, commit id or version as a filetree
>>>> repository. You can add that repository as a filetree
>>>> repository inside Monticello if you want. But it is read-only.
>>>>
>>> That is ok if you produce a deployment artefact, e.g. with
>>> jenkins. But there is either a bitbucket:// _or_ a gitfiletree://
>>> url in the baseline.
>>>
>>>> Download locally is done by either a git clone on the command
>>>> line or by a GitFileTree remote repository addition.
>>>>
>>>>> - Specifying a path to access a sub-directory of the
>>>>> repository seems not to be possible
>>>>
>>>> It is: url format is
>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>
>>>
>>>>
It works without sub-directory. With it throws an error

>>>
>>> 'Git error: Cloning into ''st''... conq: invalid command syntax.
>>> fatal: Could not read from remote repository.
>>>
>>> Please make sure you have the correct access rights and the
>>> repository exists.
>>
>> Oh, I see. You're using the stable version of GitFileTree in
>> Pharo4, isn't it?
>>
> Yes.
>
>> I haven't pushed the changes for the url syntax in that version. So
>> the old syntax becomes:
>>
>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>
>
>>
Does not work for me. Same error.

I tried in Pharo3 and that works. Strange. Can you see what is missing
from the git clone command when the error is raised? You should see a
string or an array with the command almost complete.

>> My problem is that the new url syntax is in the same package as the
>> metadata-less mode of GitFileTree, and that mode supposes a fix to
>> FileTree (a single method!). Maybe I'll switch the Pharo4
>> development version to not create metadata-less repositories.
>>
>>>> It is also allways possible to reopen a filetree or a
>>>> gitfiletree repo on a sub-directory of the main repository...
>>>> this is how FileTree itself is tested for integration.
>>>>
>>>>> - I don't know where to specify credentials because I have a
>>>>> private repo on bitbucket
>>>>
>>>> If you have a ssh key, then GitFileTree will pick it up for
>>>> you.
>>>>
>>> Yes, that is my preferred way, too.
>>
>> Well, that one really had to work :)
>>
> It is a good approach. I guess the pharo code uses the library and
> the library uses ssh. And ssh inquires ssh-agent. Exactly as it
> should IMHO.

Agreed.

>>>>> My conclusion is that if you don't want to use versionner and
>>>>> you have public projects on github using that stuff might
>>>>> seem feasible. If any of those is different it won't work.
>>>>> Right?
>>>>
>>>> No, it works and has been working for git access to private
>>>> repositories, bitbucket included, for years... at least on
>>>> Linux ;)
>>>>
>>> Ok, thanks, if the sub-directory stuff would work it would be ok
>>> to jump in. Maybe there is a way to tweak the url in the
>>> baseline. It would remove the need to install gitfiletree in a
>>> deployment artefact. We'll see.
>>
>> In a deployment artefact, then it becomes a bit different because
>> your repo is then public.
>>
> Why so? Because specifying the credentials is not possible?

Hum, because I don't really know to pass credentials unless by
registering an ssh key.

Mind you, I didn't really look into that :(

>> What I did for a Pharo4 deployment was to write a context dependent
>> Makefile which uses filetree if I'm dealing with an archive of my
>> artefact, and gitfiletree if it is build from a development repo.
>>
> To me it boils down to what you can utilize in jenkins.

Just say how you would do that with something else and a git repository,
and I think that can be reproduced or added.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Le 25/01/2016 22:12, Norbert Hartl a écrit :

> Hi,
>
>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier <[hidden email]>:
>>
>> Hi Norbert,
>>
>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>> Hi Thierry,
>>>
>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>
>>>> Hi Norbert,
>>>>
>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>
>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>>>> <mailto:[hidden email]>>:
>>>>>>
>>>>>> I'm eager to try a new project with some git repositories. But to
>>>>>> be honest I don't really get it. Searching the web there is lots to
>>>>>> find but nothing actual.
>>>>>>
>>>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>>>> only works with a BaselineOf. And how do you specify the repository
>>>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>>>> having jenkins pull everything automatically? Same goes for
>>>>>> dependent projects.
>>>>>>
>>>>>> Are there any insights to this or pointers to an up-to-date
>>>>>> documentation?
>>>>>>
>>>>> My own insights so far when using git:
>>>>>
>>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>>>> cannot use Versionner anymore
>>>>
>>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>>
>>> Ok, good to know.
>>>
>>>>> - I need to load metacello-work from github in order to use
>>>>> bitbucket:// repositories
>>>>
>>>> This should be an issue for Pharo.
>>>>
>>>>> - Metacello downloads a zip file from the repository to install code.
>>>>> I have no glue how I can download things locally in order to work on
>>>>> the code
>>>>
>>>> Metacello github:// and bitbucket:// urls are only for read-only access
>>>> to the packages (distribution).
>>>>
>>>> Metacello install the contents of the zip into a path composed of
>>>> github-cache (or bitbucket-cache I guess), the repository name, person
>>>> name, commit id or version as a filetree repository. You can add that
>>>> repository as a filetree repository inside Monticello if you want. But
>>>> it is read-only.
>>>>
>>> That is ok if you produce a deployment artefact, e.g. with jenkins. But
>>> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>>>
>>>> Download locally is done by either a git clone on the command line or by
>>>> a GitFileTree remote repository addition.
>>>>
>>>>> - Specifying a path to access a sub-directory of the repository seems
>>>>> not to be possible
>>>>
>>>> It is: url format is
>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>
>>> It works without sub-directory. With it throws an error
>>>
>>> 'Git error: Cloning into ''st''...
>>> conq: invalid command syntax.
>>> fatal: Could not read from remote repository.
>>>
>>> Please make sure you have the correct access rights
>>> and the repository exists.
>>
>> Oh, I see. You're using the stable version of GitFileTree in Pharo4, isn't it?
>>
>> I haven't pushed the changes for the url syntax in that version. So the old syntax becomes:
>>
>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>
>> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>>
>>>> It is also allways possible to reopen a filetree or a gitfiletree repo
>>>> on a sub-directory of the main repository... this is how FileTree itself
>>>> is tested for integration.
>>>>
>>>>> - I don't know where to specify credentials because I have a private
>>>>> repo on bitbucket
>>>>
>>>> If you have a ssh key, then GitFileTree will pick it up for you.
>>>>
>>> Yes, that is my preferred way, too.
>>
>> Well, that one really had to work :)
>>
>>>>> My conclusion is that if you don't want to use versionner and you
>>>>> have public projects on github using that stuff might seem feasible.
>>>>> If any of those is different it won't work. Right?
>>>>
>>>> No, it works and has been working for git access to private
>>>> repositories, bitbucket included, for years... at least on Linux ;)
>>>>
>>> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
>>> in. Maybe there is a way to tweak the url in the baseline. It would
>>> remove the need to install gitfiletree in a deployment artefact. We'll see.
>>
>> In a deployment artefact, then it becomes a bit different because your repo is then public.
>>
>> What I did for a Pharo4 deployment was to write a context dependent Makefile which uses filetree if I'm dealing with an archive of my artefact, and gitfiletree if it is build from a development repo.
>>
>>> Thanks again,
>>
>> You're welcome. I'll update GitFileTree for Pharo4 soon and recommend that you use the development version.
>
> If I have installed stable version and do
>
> ConfigurationOfGitFileTree loadDevelopment
>
> it breaks zinc and the image is unusable :) Looks like a modification in Zinc-Resource-Meta-Core.

:(

I'll have a look.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Le 25/01/2016 22:12, Norbert Hartl a écrit :

> Hi,
>
>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier <[hidden email]>:
>>
>> Hi Norbert,
>>
>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>> Hi Thierry,
>>>
>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>
>>>> Hi Norbert,
>>>>
>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>
>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>>>> <mailto:[hidden email]>>:
>>>>>>
>>>>>> I'm eager to try a new project with some git repositories. But to
>>>>>> be honest I don't really get it. Searching the web there is lots to
>>>>>> find but nothing actual.
>>>>>>
>>>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>>>> only works with a BaselineOf. And how do you specify the repository
>>>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>>>> having jenkins pull everything automatically? Same goes for
>>>>>> dependent projects.
>>>>>>
>>>>>> Are there any insights to this or pointers to an up-to-date
>>>>>> documentation?
>>>>>>
>>>>> My own insights so far when using git:
>>>>>
>>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>>>> cannot use Versionner anymore
>>>>
>>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>>
>>> Ok, good to know.
>>>
>>>>> - I need to load metacello-work from github in order to use
>>>>> bitbucket:// repositories
>>>>
>>>> This should be an issue for Pharo.
>>>>
>>>>> - Metacello downloads a zip file from the repository to install code.
>>>>> I have no glue how I can download things locally in order to work on
>>>>> the code
>>>>
>>>> Metacello github:// and bitbucket:// urls are only for read-only access
>>>> to the packages (distribution).
>>>>
>>>> Metacello install the contents of the zip into a path composed of
>>>> github-cache (or bitbucket-cache I guess), the repository name, person
>>>> name, commit id or version as a filetree repository. You can add that
>>>> repository as a filetree repository inside Monticello if you want. But
>>>> it is read-only.
>>>>
>>> That is ok if you produce a deployment artefact, e.g. with jenkins. But
>>> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>>>
>>>> Download locally is done by either a git clone on the command line or by
>>>> a GitFileTree remote repository addition.
>>>>
>>>>> - Specifying a path to access a sub-directory of the repository seems
>>>>> not to be possible
>>>>
>>>> It is: url format is
>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>
>>> It works without sub-directory. With it throws an error
>>>
>>> 'Git error: Cloning into ''st''...
>>> conq: invalid command syntax.
>>> fatal: Could not read from remote repository.
>>>
>>> Please make sure you have the correct access rights
>>> and the repository exists.
>>
>> Oh, I see. You're using the stable version of GitFileTree in Pharo4, isn't it?
>>
>> I haven't pushed the changes for the url syntax in that version. So the old syntax becomes:
>>
>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>
>> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>>
>>>> It is also allways possible to reopen a filetree or a gitfiletree repo
>>>> on a sub-directory of the main repository... this is how FileTree itself
>>>> is tested for integration.
>>>>
>>>>> - I don't know where to specify credentials because I have a private
>>>>> repo on bitbucket
>>>>
>>>> If you have a ssh key, then GitFileTree will pick it up for you.
>>>>
>>> Yes, that is my preferred way, too.
>>
>> Well, that one really had to work :)
>>
>>>>> My conclusion is that if you don't want to use versionner and you
>>>>> have public projects on github using that stuff might seem feasible.
>>>>> If any of those is different it won't work. Right?
>>>>
>>>> No, it works and has been working for git access to private
>>>> repositories, bitbucket included, for years... at least on Linux ;)
>>>>
>>> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
>>> in. Maybe there is a way to tweak the url in the baseline. It would
>>> remove the need to install gitfiletree in a deployment artefact. We'll see.
>>
>> In a deployment artefact, then it becomes a bit different because your repo is then public.
>>
>> What I did for a Pharo4 deployment was to write a context dependent Makefile which uses filetree if I'm dealing with an archive of my artefact, and gitfiletree if it is build from a development repo.
>>
>>> Thanks again,
>>
>> You're welcome. I'll update GitFileTree for Pharo4 soon and recommend that you use the development version.
>
> If I have installed stable version and do
>
> ConfigurationOfGitFileTree loadDevelopment
>
> it breaks zinc and the image is unusable :) Looks like a modification in Zinc-Resource-Meta-Core.
>
> Norbert

Hum, doing that (loading stable, installing something over gitfiletree,
loading development) on a brand new Pharo4 image and I have no errors at
all.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by Thierry Goubier

Am 25.01.2016 um 22:19 schrieb Thierry Goubier <[hidden email]>:

I tried in Pharo3 and that works. Strange. Can you see what is missing
from the git clone command when the error is raised? You should see a
string or an array with the command almost complete.

I had a branch information added like

<a href="gitfiletree://bitbucket.org/2denker/project:master?dir=st" class="">gitfiletree://bitbucket.org/2denker/project:master?dir=st

Without the :master it works

Norbert

Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
In reply to this post by Thierry Goubier
Hi Thierry,

> Am 25.01.2016 um 22:28 schrieb Thierry Goubier <[hidden email]>:
>
> Le 25/01/2016 22:12, Norbert Hartl a écrit :
>> Hi,
>>
>>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier <[hidden email]>:
>>>
>>> Hi Norbert,
>>>
>>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>>> Hi Thierry,
>>>>
>>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>>
>>>>> Hi Norbert,
>>>>>
>>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>>
>>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl <[hidden email]
>>>>>>> <mailto:[hidden email]>>:
>>>>>>>
>>>>>>> I'm eager to try a new project with some git repositories. But to
>>>>>>> be honest I don't really get it. Searching the web there is lots to
>>>>>>> find but nothing actual.
>>>>>>>
>>>>>>> I don't understand if it is ok to use a ConfigurationOf or if it
>>>>>>> only works with a BaselineOf. And how do you specify the repository
>>>>>>> in a ConfigurationOf in order to be able to work locally as well as
>>>>>>> having jenkins pull everything automatically? Same goes for
>>>>>>> dependent projects.
>>>>>>>
>>>>>>> Are there any insights to this or pointers to an up-to-date
>>>>>>> documentation?
>>>>>>>
>>>>>> My own insights so far when using git:
>>>>>>
>>>>>> - I need to use BaselineOf instead of ConfigurationOf. Thus you
>>>>>> cannot use Versionner anymore
>>>>>
>>>>> You can use ConfigurationOf. BaselineOf is only there to help.
>>>>>
>>>> Ok, good to know.
>>>>
>>>>>> - I need to load metacello-work from github in order to use
>>>>>> bitbucket:// repositories
>>>>>
>>>>> This should be an issue for Pharo.
>>>>>
>>>>>> - Metacello downloads a zip file from the repository to install code.
>>>>>> I have no glue how I can download things locally in order to work on
>>>>>> the code
>>>>>
>>>>> Metacello github:// and bitbucket:// urls are only for read-only access
>>>>> to the packages (distribution).
>>>>>
>>>>> Metacello install the contents of the zip into a path composed of
>>>>> github-cache (or bitbucket-cache I guess), the repository name, person
>>>>> name, commit id or version as a filetree repository. You can add that
>>>>> repository as a filetree repository inside Monticello if you want. But
>>>>> it is read-only.
>>>>>
>>>> That is ok if you produce a deployment artefact, e.g. with jenkins. But
>>>> there is either a bitbucket:// _or_ a gitfiletree:// url in the baseline.
>>>>
>>>>> Download locally is done by either a git clone on the command line or by
>>>>> a GitFileTree remote repository addition.
>>>>>
>>>>>> - Specifying a path to access a sub-directory of the repository seems
>>>>>> not to be possible
>>>>>
>>>>> It is: url format is
>>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>>
>>>> It works without sub-directory. With it throws an error
>>>>
>>>> 'Git error: Cloning into ''st''...
>>>> conq: invalid command syntax.
>>>> fatal: Could not read from remote repository.
>>>>
>>>> Please make sure you have the correct access rights
>>>> and the repository exists.
>>>
>>> Oh, I see. You're using the stable version of GitFileTree in Pharo4, isn't it?
>>>
>>> I haven't pushed the changes for the url syntax in that version. So the old syntax becomes:
>>>
>>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>>
>>> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>>>
>>>>> It is also allways possible to reopen a filetree or a gitfiletree repo
>>>>> on a sub-directory of the main repository... this is how FileTree itself
>>>>> is tested for integration.
>>>>>
>>>>>> - I don't know where to specify credentials because I have a private
>>>>>> repo on bitbucket
>>>>>
>>>>> If you have a ssh key, then GitFileTree will pick it up for you.
>>>>>
>>>> Yes, that is my preferred way, too.
>>>
>>> Well, that one really had to work :)
>>>
>>>>>> My conclusion is that if you don't want to use versionner and you
>>>>>> have public projects on github using that stuff might seem feasible.
>>>>>> If any of those is different it won't work. Right?
>>>>>
>>>>> No, it works and has been working for git access to private
>>>>> repositories, bitbucket included, for years... at least on Linux ;)
>>>>>
>>>> Ok, thanks, if the sub-directory stuff would work it would be ok to jump
>>>> in. Maybe there is a way to tweak the url in the baseline. It would
>>>> remove the need to install gitfiletree in a deployment artefact. We'll see.
>>>
>>> In a deployment artefact, then it becomes a bit different because your repo is then public.
>>>
>>> What I did for a Pharo4 deployment was to write a context dependent Makefile which uses filetree if I'm dealing with an archive of my artefact, and gitfiletree if it is build from a development repo.
>>>
>>>> Thanks again,
>>>
>>> You're welcome. I'll update GitFileTree for Pharo4 soon and recommend that you use the development version.
>>
>> If I have installed stable version and do
>>
>> ConfigurationOfGitFileTree loadDevelopment
>>
>> it breaks zinc and the image is unusable :) Looks like a modification in Zinc-Resource-Meta-Core.
>>
>> Norbert
>
> Hum, doing that (loading stable, installing something over gitfiletree, loading development) on a brand new Pharo4 image and I have no errors at all.
>
Thank you very much. The shortest and most ui intensive way seems to be:

- open fresh pharo
- load only configuration from configuration browser
- open versionner, click development and load version
- Then the metacello command runs smoothly

I'm thinking about creating a deployment user that has access to the repo and then add the credentials to the baseline url. That doesn't sound good but the access you need for the repo supersedes the access of the deployment user so for a closed project not too bad as long as SSL urls are used.

Norbert



Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Le 25/01/2016 22:40, Norbert Hartl a écrit :

>
>> Am 25.01.2016 um 22:19 schrieb Thierry Goubier
>> <[hidden email] <mailto:[hidden email]>>:
>>
>> I tried in Pharo3 and that works. Strange. Can you see what is missing
>> from the git clone command when the error is raised? You should see a
>> string or an array with the command almost complete.
>
> I had a branch information added like
>
> gitfiletree://bitbucket.org/2denker/project:master?dir=st

> Without the :master it works

Ok. It should have been

gitfiletree://bitbucket.org/2denker/project?dir=st&branch=master

Thierry

> Norbert
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

Thierry Goubier
In reply to this post by NorbertHartl
Hi Norbert,

Just tell me if you need any additional parameter to the git clone for
the credentials, because I'm not sure I have written the code which will
handle them.

Thierry

Le 25/01/2016 22:47, Norbert Hartl a écrit :

> Hi Thierry,
>
>> Am 25.01.2016 um 22:28 schrieb Thierry Goubier
>> <[hidden email]>:
>>
>> Le 25/01/2016 22:12, Norbert Hartl a écrit :
>>> Hi,
>>>
>>>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier
>>>> <[hidden email]>:
>>>>
>>>> Hi Norbert,
>>>>
>>>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>>>> Hi Thierry,
>>>>>
>>>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>>>> <[hidden email]
>>>>>> <mailto:[hidden email]>>:
>>>>>>
>>>>>> Hi Norbert,
>>>>>>
>>>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>>>
>>>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl
>>>>>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>>>>>
>>>>>>>> I'm eager to try a new project with some git
>>>>>>>> repositories. But to be honest I don't really get it.
>>>>>>>> Searching the web there is lots to find but nothing
>>>>>>>> actual.
>>>>>>>>
>>>>>>>> I don't understand if it is ok to use a ConfigurationOf
>>>>>>>> or if it only works with a BaselineOf. And how do you
>>>>>>>> specify the repository in a ConfigurationOf in order to
>>>>>>>> be able to work locally as well as having jenkins pull
>>>>>>>> everything automatically? Same goes for dependent
>>>>>>>> projects.
>>>>>>>>
>>>>>>>> Are there any insights to this or pointers to an
>>>>>>>> up-to-date documentation?
>>>>>>>>
>>>>>>> My own insights so far when using git:
>>>>>>>
>>>>>>> - I need to use BaselineOf instead of ConfigurationOf.
>>>>>>> Thus you cannot use Versionner anymore
>>>>>>
>>>>>> You can use ConfigurationOf. BaselineOf is only there to
>>>>>> help.
>>>>>>
>>>>> Ok, good to know.
>>>>>
>>>>>>> - I need to load metacello-work from github in order to
>>>>>>> use bitbucket:// repositories
>>>>>>
>>>>>> This should be an issue for Pharo.
>>>>>>
>>>>>>> - Metacello downloads a zip file from the repository to
>>>>>>> install code. I have no glue how I can download things
>>>>>>> locally in order to work on the code
>>>>>>
>>>>>> Metacello github:// and bitbucket:// urls are only for
>>>>>> read-only access to the packages (distribution).
>>>>>>
>>>>>> Metacello install the contents of the zip into a path
>>>>>> composed of github-cache (or bitbucket-cache I guess), the
>>>>>> repository name, person name, commit id or version as a
>>>>>> filetree repository. You can add that repository as a
>>>>>> filetree repository inside Monticello if you want. But it
>>>>>> is read-only.
>>>>>>
>>>>> That is ok if you produce a deployment artefact, e.g. with
>>>>> jenkins. But there is either a bitbucket:// _or_ a
>>>>> gitfiletree:// url in the baseline.
>>>>>
>>>>>> Download locally is done by either a git clone on the
>>>>>> command line or by a GitFileTree remote repository
>>>>>> addition.
>>>>>>
>>>>>>> - Specifying a path to access a sub-directory of the
>>>>>>> repository seems not to be possible
>>>>>>
>>>>>> It is: url format is
>>>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>>>
>>>>>
>>>>>>
It works without sub-directory. With it throws an error

>>>>>
>>>>> 'Git error: Cloning into ''st''... conq: invalid command
>>>>> syntax. fatal: Could not read from remote repository.
>>>>>
>>>>> Please make sure you have the correct access rights and the
>>>>> repository exists.
>>>>
>>>> Oh, I see. You're using the stable version of GitFileTree in
>>>> Pharo4, isn't it?
>>>>
>>>> I haven't pushed the changes for the url syntax in that
>>>> version. So the old syntax becomes:
>>>>
>>>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>>>
>>>>
>>>>
My problem is that the new url syntax is in the same package as the
metadata-less mode of GitFileTree, and that mode supposes a fix to
FileTree (a single method!). Maybe I'll switch the Pharo4 development
version to not create metadata-less repositories.

>>>>
>>>>>> It is also allways possible to reopen a filetree or a
>>>>>> gitfiletree repo on a sub-directory of the main
>>>>>> repository... this is how FileTree itself is tested for
>>>>>> integration.
>>>>>>
>>>>>>> - I don't know where to specify credentials because I
>>>>>>> have a private repo on bitbucket
>>>>>>
>>>>>> If you have a ssh key, then GitFileTree will pick it up for
>>>>>> you.
>>>>>>
>>>>> Yes, that is my preferred way, too.
>>>>
>>>> Well, that one really had to work :)
>>>>
>>>>>>> My conclusion is that if you don't want to use versionner
>>>>>>> and you have public projects on github using that stuff
>>>>>>> might seem feasible. If any of those is different it
>>>>>>> won't work. Right?
>>>>>>
>>>>>> No, it works and has been working for git access to
>>>>>> private repositories, bitbucket included, for years... at
>>>>>> least on Linux ;)
>>>>>>
>>>>> Ok, thanks, if the sub-directory stuff would work it would be
>>>>> ok to jump in. Maybe there is a way to tweak the url in the
>>>>> baseline. It would remove the need to install gitfiletree in
>>>>> a deployment artefact. We'll see.
>>>>
>>>> In a deployment artefact, then it becomes a bit different
>>>> because your repo is then public.
>>>>
>>>> What I did for a Pharo4 deployment was to write a context
>>>> dependent Makefile which uses filetree if I'm dealing with an
>>>> archive of my artefact, and gitfiletree if it is build from a
>>>> development repo.
>>>>
>>>>> Thanks again,
>>>>
>>>> You're welcome. I'll update GitFileTree for Pharo4 soon and
>>>> recommend that you use the development version.
>>>
>>> If I have installed stable version and do
>>>
>>> ConfigurationOfGitFileTree loadDevelopment
>>>
>>> it breaks zinc and the image is unusable :) Looks like a
>>> modification in Zinc-Resource-Meta-Core.
>>>
>>> Norbert
>>
>> Hum, doing that (loading stable, installing something over
>> gitfiletree, loading development) on a brand new Pharo4 image and I
>> have no errors at all.
>>
> Thank you very much. The shortest and most ui intensive way seems to
> be:
>
> - open fresh pharo - load only configuration from configuration
> browser - open versionner, click development and load version - Then
> the metacello command runs smoothly
>
> I'm thinking about creating a deployment user that has access to the
> repo and then add the credentials to the baseline url. That doesn't
> sound good but the access you need for the repo supersedes the access
> of the deployment user so for a closed project not too bad as long as
> SSL urls are used.
>
> Norbert
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo + git workflow

NorbertHartl
Hi,

> Am 25.01.2016 um 22:55 schrieb Thierry Goubier <[hidden email]>:
>
> Hi Norbert,
>
> Just tell me if you need any additional parameter to the git clone for the credentials, because I'm not sure I have written the code which will handle them.
>
I'll check that. The easiest approach is to use the authority part of the url like

https://user:pass@.../….

I try that tomorrow.

Norbert

> Thierry
>
> Le 25/01/2016 22:47, Norbert Hartl a écrit :
>> Hi Thierry,
>>
>>> Am 25.01.2016 um 22:28 schrieb Thierry Goubier
>>> <[hidden email]>:
>>>
>>> Le 25/01/2016 22:12, Norbert Hartl a écrit :
>>>> Hi,
>>>>
>>>>> Am 25.01.2016 um 21:36 schrieb Thierry Goubier
>>>>> <[hidden email]>:
>>>>>
>>>>> Hi Norbert,
>>>>>
>>>>> Le 25/01/2016 21:17, Norbert Hartl a écrit :
>>>>>> Hi Thierry,
>>>>>>
>>>>>>> Am 25.01.2016 um 20:45 schrieb Thierry Goubier
>>>>>>> <[hidden email]
>>>>>>> <mailto:[hidden email]>>:
>>>>>>>
>>>>>>> Hi Norbert,
>>>>>>>
>>>>>>> Le 25/01/2016 20:01, Norbert Hartl a écrit :
>>>>>>>>
>>>>>>>>> Am 25.01.2016 um 18:09 schrieb Norbert Hartl
>>>>>>>>> <[hidden email] <mailto:[hidden email]>>:
>>>>>>>>>
>>>>>>>>> I'm eager to try a new project with some git
>>>>>>>>> repositories. But to be honest I don't really get it.
>>>>>>>>> Searching the web there is lots to find but nothing
>>>>>>>>> actual.
>>>>>>>>>
>>>>>>>>> I don't understand if it is ok to use a ConfigurationOf
>>>>>>>>> or if it only works with a BaselineOf. And how do you
>>>>>>>>> specify the repository in a ConfigurationOf in order to
>>>>>>>>> be able to work locally as well as having jenkins pull
>>>>>>>>> everything automatically? Same goes for dependent
>>>>>>>>> projects.
>>>>>>>>>
>>>>>>>>> Are there any insights to this or pointers to an
>>>>>>>>> up-to-date documentation?
>>>>>>>>>
>>>>>>>> My own insights so far when using git:
>>>>>>>>
>>>>>>>> - I need to use BaselineOf instead of ConfigurationOf.
>>>>>>>> Thus you cannot use Versionner anymore
>>>>>>>
>>>>>>> You can use ConfigurationOf. BaselineOf is only there to
>>>>>>> help.
>>>>>>>
>>>>>> Ok, good to know.
>>>>>>
>>>>>>>> - I need to load metacello-work from github in order to
>>>>>>>> use bitbucket:// repositories
>>>>>>>
>>>>>>> This should be an issue for Pharo.
>>>>>>>
>>>>>>>> - Metacello downloads a zip file from the repository to
>>>>>>>> install code. I have no glue how I can download things
>>>>>>>> locally in order to work on the code
>>>>>>>
>>>>>>> Metacello github:// and bitbucket:// urls are only for
>>>>>>> read-only access to the packages (distribution).
>>>>>>>
>>>>>>> Metacello install the contents of the zip into a path
>>>>>>> composed of github-cache (or bitbucket-cache I guess), the
>>>>>>> repository name, person name, commit id or version as a
>>>>>>> filetree repository. You can add that repository as a
>>>>>>> filetree repository inside Monticello if you want. But it
>>>>>>> is read-only.
>>>>>>>
>>>>>> That is ok if you produce a deployment artefact, e.g. with
>>>>>> jenkins. But there is either a bitbucket:// _or_ a
>>>>>> gitfiletree:// url in the baseline.
>>>>>>
>>>>>>> Download locally is done by either a git clone on the
>>>>>>> command line or by a GitFileTree remote repository
>>>>>>> addition.
>>>>>>>
>>>>>>>> - Specifying a path to access a sub-directory of the
>>>>>>>> repository seems not to be possible
>>>>>>>
>>>>>>> It is: url format is
>>>>>>> [github|gitfiletree|bitbucket]://.../repo:commit/sub-directory.
>>>>>>
>>>>>>
>>>>>>>
> It works without sub-directory. With it throws an error
>>>>>>
>>>>>> 'Git error: Cloning into ''st''... conq: invalid command
>>>>>> syntax. fatal: Could not read from remote repository.
>>>>>>
>>>>>> Please make sure you have the correct access rights and the
>>>>>> repository exists.
>>>>>
>>>>> Oh, I see. You're using the stable version of GitFileTree in
>>>>> Pharo4, isn't it?
>>>>>
>>>>> I haven't pushed the changes for the url syntax in that
>>>>> version. So the old syntax becomes:
>>>>>
>>>>> gitfiletree://example.com/path/to/repo?dir=sub-directory&branch=commit
>>>>>
>>>>>
>>>>>
> My problem is that the new url syntax is in the same package as the metadata-less mode of GitFileTree, and that mode supposes a fix to FileTree (a single method!). Maybe I'll switch the Pharo4 development version to not create metadata-less repositories.
>>>>>
>>>>>>> It is also allways possible to reopen a filetree or a
>>>>>>> gitfiletree repo on a sub-directory of the main
>>>>>>> repository... this is how FileTree itself is tested for
>>>>>>> integration.
>>>>>>>
>>>>>>>> - I don't know where to specify credentials because I
>>>>>>>> have a private repo on bitbucket
>>>>>>>
>>>>>>> If you have a ssh key, then GitFileTree will pick it up for
>>>>>>> you.
>>>>>>>
>>>>>> Yes, that is my preferred way, too.
>>>>>
>>>>> Well, that one really had to work :)
>>>>>
>>>>>>>> My conclusion is that if you don't want to use versionner
>>>>>>>> and you have public projects on github using that stuff
>>>>>>>> might seem feasible. If any of those is different it
>>>>>>>> won't work. Right?
>>>>>>>
>>>>>>> No, it works and has been working for git access to
>>>>>>> private repositories, bitbucket included, for years... at
>>>>>>> least on Linux ;)
>>>>>>>
>>>>>> Ok, thanks, if the sub-directory stuff would work it would be
>>>>>> ok to jump in. Maybe there is a way to tweak the url in the
>>>>>> baseline. It would remove the need to install gitfiletree in
>>>>>> a deployment artefact. We'll see.
>>>>>
>>>>> In a deployment artefact, then it becomes a bit different
>>>>> because your repo is then public.
>>>>>
>>>>> What I did for a Pharo4 deployment was to write a context
>>>>> dependent Makefile which uses filetree if I'm dealing with an
>>>>> archive of my artefact, and gitfiletree if it is build from a
>>>>> development repo.
>>>>>
>>>>>> Thanks again,
>>>>>
>>>>> You're welcome. I'll update GitFileTree for Pharo4 soon and
>>>>> recommend that you use the development version.
>>>>
>>>> If I have installed stable version and do
>>>>
>>>> ConfigurationOfGitFileTree loadDevelopment
>>>>
>>>> it breaks zinc and the image is unusable :) Looks like a
>>>> modification in Zinc-Resource-Meta-Core.
>>>>
>>>> Norbert
>>>
>>> Hum, doing that (loading stable, installing something over
>>> gitfiletree, loading development) on a brand new Pharo4 image and I
>>> have no errors at all.
>>>
>> Thank you very much. The shortest and most ui intensive way seems to
>> be:
>>
>> - open fresh pharo - load only configuration from configuration
>> browser - open versionner, click development and load version - Then
>> the metacello command runs smoothly
>>
>> I'm thinking about creating a deployment user that has access to the
>> repo and then add the credentials to the baseline url. That doesn't
>> sound good but the access you need for the repo supersedes the access
>> of the deployment user so for a closed project not too bad as long as
>> SSL urls are used.
>>
>> Norbert
>>
>>
>>
>>
>
>


123