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 |
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
|
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/ |
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
|
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 |
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 > > > > > > |
… but is better to use it :) and yes, versionner needs to be adapted.
not anymore, Pharo5 is updated. cheers! Esteban
|
In reply to this post by Thierry Goubier
Hi Thierry,
Ok, good to know. 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.
'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. ' Yes, that is my preferred way, too. 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 |
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 > > |
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 |
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? > > 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 :) > >>>> 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. > 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 |
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 |
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. >>> >>> >>>> >>> >>> '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 >> > >> 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 |
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 |
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 |
In reply to this post by Thierry Goubier
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 |
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. > - 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 |
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 > |
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. >>>>> >>>>> >>>>>> >>>>> >>>>> '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 >>>> >>>> >>>> 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 > > > > |
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 >> >> >> >> > > |
Free forum by Nabble | Edit this page |