Hello
I have a local clone of git repository and I am looking for code that adds this repository to Iceberg and then loads its baseline into Pharo. I am using Pharo 6.1 (image 60510) and last stable Windows VM. Right now I am experimenting with following code, it adds the project into Iceberg, but does not load the baseline. The code is: SystemSettingsPersistence updateSettingNodes. "sets ssh key locations" (Smalltalk at: #IceRepositoryCreator) new url: '[hidden email]:bliznjan/nameofmyproject.git'; location: '/C:/Users/User/Pharo/repo/nameofmyproject/filetree' asFileReference; subdirectory: 'filetree'; createRepository. "this part seems to work fine" Metacello new baseline: 'NameOfMyProject'; repository: 'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. "this one fails with exception below" loading the baseline ends with Exception Could not resolve: BaselineOfNameOfMyProject [BaselineOfNameOfMyProject] in C:\Users\User\Pharo\images\TestingImage1\pharo-local\package-cache C:\Users\User\Pharo\repo\nameofmyproject\filetree (Libgit) Those paths seem correct - the package-cache is located in exactly that position (but does not contain anything that relates to my project) and the filetree (repository) in the mentioned path and there is a BaselineOfNameOfMyProject.package directory in there. Also, if I then try loading the baseline manually via Iceberg, by right clicking on BaselineOfNameOfMyProject in Packages tab, I get exactly same exception. Loading packages one by one manually via Iceberg Packages tab works. Also, loading the baseline via GitFileTree works. Thank you Jan -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html |
I think this is your error: '/C:/Users/User/Pharo/repo/nameofmyproject/filetree, needs to be '/C:/Users/User/Pharo/repo/nameofmyproject (without the filetree part, which is the subdirectory) now, I think if you do: Metacello new repository: ‘<a href="gitlab://bliznjan/nameofmyproject/filetree'" class="">gitlab://bliznjan/nameofmyproject/filetree'; baseline: ‘MyProject’ load. ir will also do what you want without the two steps.
|
Don't forget to enable Metacello integration in settings.
On Tue, Oct 3, 2017 at 8:55 AM, Esteban Lorenzano <[hidden email]> wrote:
|
ah, yes :) In pharo 6.1 this is a must (I keep forgetting it, heh) Esteban
|
Administrator
|
In reply to this post by Peter Uhnak
Peter Uhnák wrote
> Don't forget to enable Metacello integration in settings. What does this setting do? I have been plugging along without it and haven't noticed any problems… ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Cheers,
Sean |
You have projects A and B on git(hub). A has a dependency on B (in its baseline of). With integration enabled, installing A will also clone B and add B to iceberg. Peter On Tue, Oct 3, 2017 at 2:06 PM, Sean P. DeNigris <[hidden email]> wrote: Peter Uhnák wrote |
otherwise it will still download and install… but following the older process. Esteban
|
Administrator
|
EstebanLM wrote
> otherwise it will still download and install… but following the older > process. IOW the projects will not be aded to Iceberg? If the shared repo setting is enabled, will existing local clones be found and used? Does it matter if the baseline contains e.g. github:// vs filetree://? The latter would require finding the git root i.e. stripping any code subfolder… ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Cheers,
Sean |
In reply to this post by EstebanLM
Hello
Unfortunately removing the /filetree does not seem to change anything - I end up with same error. If I run the code without /filetree, however, it creates the entry in Iceberg and then I can load it manually package by package via Iceberg GUI, but I cannot run the baseline either by this code, or by right clicking the baseline package and selecting "Install baseline (default)", because even that ends with the very same exception as my code (Could not resolve:...). When I tried your code, either with or without /filetree, it ends up with LGit_GIT_EEOF: ERROR: Repository not found. I debugged it and found out it tries to find [hidden email]:bliznjan/nameofmyproject.git but my project is on gitlab, not github. The problem may lie somewhere around IceProviderRepositoryType>>#mcRepository which contains creation of MCGitHubRepository even for an instance of IceGitlabRepositoryType? Also I do have Metacello integration checked, these are my Iceberg settings: http://www.mediafire.com/view/br6isyeo69z1mqe/2017-10-03.png Jan EstebanLM wrote >> On 3 Oct 2017, at 08:47, Jan Blizničenko < > bliznjan@.cvut > > wrote: >> >> Hello >> >> I have a local clone of git repository and I am looking for code that >> adds >> this repository to Iceberg and then loads its baseline into Pharo. I am >> using Pharo 6.1 (image 60510) and last stable Windows VM. >> >> Right now I am experimenting with following code, it adds the project >> into >> Iceberg, but does not load the baseline. The code is: >> >> SystemSettingsPersistence updateSettingNodes. "sets ssh key locations" >> >> (Smalltalk at: #IceRepositoryCreator) new >> url: ' > git@ > :bliznjan/nameofmyproject.git'; >> location: '/C:/Users/User/Pharo/repo/nameofmyproject/filetree' >> asFileReference; >> subdirectory: 'filetree'; >> createRepository. "this part seems to work fine” > > I think this is your error: > '/C:/Users/User/Pharo/repo/nameofmyproject/filetree, needs to be > '/C:/Users/User/Pharo/repo/nameofmyproject (without the filetree part, > which is the subdirectory) > > now, I think if you do: > > Metacello new > repository: ‘gitlab://bliznjan/nameofmyproject/filetree' > <gitlab://bliznjan/nameofmyproject/filetree'>; > baseline: ‘MyProject’ > load. > > ir will also do what you want without the two steps. > >> >> Metacello new baseline: 'NameOfMyProject'; repository: >> 'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. >> "this >> one fails with exception below" >> >> >> loading the baseline ends with Exception >> Could not resolve: BaselineOfNameOfMyProject [BaselineOfNameOfMyProject] >> in C:\Users\User\Pharo\images\TestingImage1\pharo-local\package-cache >> C:\Users\User\Pharo\repo\nameofmyproject\filetree (Libgit) >> >> Those paths seem correct - the package-cache is located in exactly that >> position (but does not contain anything that relates to my project) and >> the >> filetree (repository) in the mentioned path and there is a >> BaselineOfNameOfMyProject.package directory in there. >> >> Also, if I then try loading the baseline manually via Iceberg, by right >> clicking on BaselineOfNameOfMyProject in Packages tab, I get exactly same >> exception. >> >> Loading packages one by one manually via Iceberg Packages tab works. >> Also, >> loading the baseline via GitFileTree works. >> >> Thank you >> Jan >> >> >> >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html |
I think I got it. The correct code for me is
SystemSettingsPersistence updateSettingNodes. Metacello new baseline: 'NameOfMyProject'; repository: 'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. First line loads my stored settings that look like this for Iceberg: http://www.mediafire.com/view/br6isyeo69z1mqe/2017-10-03.png and the second line puts my already existing git clone in filesystem into Iceberg and successfully loads the baseline with all dependencies. So problem solved for me. Esteban, your code is, I guess, for loading the code directly from GitLab without having local clone first, into default location of Iceberg, right? Anyway that inspired me to remove my first part of code and that was what I needed :) Thank you Jan Jan Blizničenko wrote > Hello > > Unfortunately removing the /filetree does not seem to change anything - I > end up with same error. If I run the code without /filetree, however, it > creates the entry in Iceberg and then I can load it manually package by > package via Iceberg GUI, but I cannot run the baseline either by this > code, > or by right clicking the baseline package and selecting "Install baseline > (default)", because even that ends with the very same exception as my code > (Could not resolve:...). > > When I tried your code, either with or without /filetree, it ends up with > LGit_GIT_EEOF: ERROR: Repository not found. I debugged it and found out it > tries to find > git@ > :bliznjan/nameofmyproject.git but my project is > on gitlab, not github. The problem may lie somewhere around > IceProviderRepositoryType>>#mcRepository > which contains creation of MCGitHubRepository even for an instance of > IceGitlabRepositoryType? > > Also I do have Metacello integration checked, these are my Iceberg > settings: > http://www.mediafire.com/view/br6isyeo69z1mqe/2017-10-03.png > > Jan > > > > EstebanLM wrote >>> On 3 Oct 2017, at 08:47, Jan Blizničenko < > >> bliznjan@.cvut > >> > wrote: >>> >>> Hello >>> >>> I have a local clone of git repository and I am looking for code that >>> adds >>> this repository to Iceberg and then loads its baseline into Pharo. I am >>> using Pharo 6.1 (image 60510) and last stable Windows VM. >>> >>> Right now I am experimenting with following code, it adds the project >>> into >>> Iceberg, but does not load the baseline. The code is: >>> >>> SystemSettingsPersistence updateSettingNodes. "sets ssh key locations" >>> >>> (Smalltalk at: #IceRepositoryCreator) new >>> url: ' > >> git@ > >> :bliznjan/nameofmyproject.git'; >>> location: '/C:/Users/User/Pharo/repo/nameofmyproject/filetree' >>> asFileReference; >>> subdirectory: 'filetree'; >>> createRepository. "this part seems to work fine” >> >> I think this is your error: >> '/C:/Users/User/Pharo/repo/nameofmyproject/filetree, needs to be >> '/C:/Users/User/Pharo/repo/nameofmyproject (without the filetree part, >> which is the subdirectory) >> >> now, I think if you do: >> >> Metacello new >> repository: ‘gitlab://bliznjan/nameofmyproject/filetree' >> <gitlab://bliznjan/nameofmyproject/filetree'>; >> baseline: ‘MyProject’ >> load. >> >> ir will also do what you want without the two steps. >> >>> >>> Metacello new baseline: 'NameOfMyProject'; repository: >>> 'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. >>> "this >>> one fails with exception below" >>> >>> >>> loading the baseline ends with Exception >>> Could not resolve: BaselineOfNameOfMyProject >>> [BaselineOfNameOfMyProject] >>> in C:\Users\User\Pharo\images\TestingImage1\pharo-local\package-cache >>> C:\Users\User\Pharo\repo\nameofmyproject\filetree (Libgit) >>> >>> Those paths seem correct - the package-cache is located in exactly that >>> position (but does not contain anything that relates to my project) and >>> the >>> filetree (repository) in the mentioned path and there is a >>> BaselineOfNameOfMyProject.package directory in there. >>> >>> Also, if I then try loading the baseline manually via Iceberg, by right >>> clicking on BaselineOfNameOfMyProject in Packages tab, I get exactly >>> same >>> exception. >>> >>> Loading packages one by one manually via Iceberg Packages tab works. >>> Also, >>> loading the baseline via GitFileTree works. >>> >>> Thank you >>> Jan >>> >>> >>> >>> -- >>> Sent from: >>> http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >>> > > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html |
Administrator
|
Jan Blizničenko wrote
> ...'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. Hmm, I never saw gitlocal:// before. I always use filetree://. I wonder what the difference is… ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Cheers,
Sean |
> On 4 Oct 2017, at 16:29, Sean P. DeNigris <[hidden email]> wrote: > > Jan Blizničenko wrote >> ...'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. > > Hmm, I never saw gitlocal:// before. I always use filetree://. I wonder what > the difference is… filetree uses filetree (old way) and it will install the project without installing an iceberg project. gitlocal will treat repo as a local repository and it will follow “iceberg path” :) Esteban > > > > ----- > Cheers, > Sean > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html > |
Actually I found it in Iceberg source code :) Never seen it anywhere else
before or after. Jan EstebanLM wrote >> On 4 Oct 2017, at 16:29, Sean P. DeNigris < > sean@ > > wrote: >> >> Jan Blizničenko wrote >>> ...'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; >>> load. >> >> Hmm, I never saw gitlocal:// before. I always use filetree://. I wonder >> what >> the difference is… > > filetree uses filetree (old way) and it will install the project without > installing an iceberg project. > gitlocal will treat repo as a local repository and it will follow “iceberg > path” :) > > Esteban > >> >> >> >> ----- >> Cheers, >> Sean >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html |
Free forum by Nabble | Edit this page |