Hi Sabine,

as far as I remember when I implemented it, the use of a config file shouldn't be an issue, because GitFileTree rewrites exactly the git@SPF_GITLAB the way you would expect, as long as it manages to identify correctly the parts in the URL (and to identify those parts, it relies on Zinc).

Now, have you tried with:

gitfiletree://SPF_GITLAB/SPF/Spesenfuchs

?

Zinc correctly identifies SPF_GITLAB as the host, but it writes it non-capitalized (spf_gitlab), which may makes it miss your .ssh/config
entry.

In that case, could you add the spf_gitlab entry as well in your config file ?

Thierry

Le 07/07/2017 à 21:32, Sabine Manaa a écrit :
Hi Thierry, Gabriel and Peter,

thank you very much. First I had a look at this because it would be nice to load directly from Gitlab (with then generating a local repository automatically):

spec repository: 'gitfiletree://gitlab.intra.example.com/ANiceLib:master/ <http://example.com/ANiceLib:master/>placeWhereAreThePackages';

I did not manage to use it because I would need to give a port as parameter (we do not use port 22). I chatted in discord with Peter Uhnak.

It seemed that this is not yet possible because of my case that i do not use port 22 and I use a config file.

On the command line, this command succeeds with cloning my repository from gitlab:

git clone git@SPF_GITLAB:SPF/Spesenfuchs.git


There is a config file which defines my host:

host SPF_GITLAB
HostName 192.168.1.61
Port 30001

I try to write my baseline with this

spec repository: 'gitfiletree://SPF_GITLAB:SPF/Spesenfuchs.git'.


This did not work in the beginning.

I played around and found out that there are 2 points where I had to change the system to make this work:

1) ZnUrl>>parseHostPort:
stream atEnd
ifFalse: ["portNumber := Integer readFrom: stream ifFail: [ ZnPortNotANumber signal ]. (portNumber between: 1 and: 65535) ifFalse: [ DomainError signalFrom: 1 to: 65535 ]."
self port: 30001 "portNumber" ] ]
->> here, it is assumed that there is always a port integer after the :
If i set it hard to my port I skip this problem

2) MCFileTreeGitRepository>>basicFromUrl: aZnUrl
here I changed the code also hard from

repo remoteUrl: 'git@' , aZnUrl host , ':' , path
to
repo remoteUrl: 'git@SPF_GITLAB:SPF/Spesenfuchs.git'

->> here, aUZnUrl host is in lowercase but my name is in uppercase
:SPF is missing

the existing code would make this:
git@spf_gitlab:Spesenfuchs.git
instead of
git@SPF_GITLAB:SPF/Spesenfuchs.git

With this 2 changes, my code could load.

So my question: Are this 2 points issues to fix or should I create my own workaround (create my own loader, not making THIS changes )?

Regards
Sabine





2017-07-07 16:06 GMT+02:00 gcotelli [via Smalltalk] <[hidden email] </user/SendEmail.jtp?type=node&node=4953938&i=0>>:

    Hi Sabine,
    for your own baseline you don't need to specify a repository. Just
    load it with something like:

    Metacello new
    baseline: 'RLA24';
    repository: 'filetree://disklocation/repository';
    load: 'Group To Load'

    Also you can have local copies of your dependencies in case you
    don't want to use an internet connection for dowloading, just use
    the lock command of Metacello to "overwrite" the repository
    definitions. For example take a look at:

    https://gist.github.com/gcotelli/d4521656358786ae2aca12a70478980f
    <https://gist.github.com/gcotelli/d4521656358786ae2aca12a70478980f>

    Regards,
    Gabriel


    On Fri, Jul 7, 2017 at 10:48 AM, Sabine Manaa <[hidden email]
    <http:///user/SendEmail.jtp?type=node&node=4953880&i=0>> wrote:

        Hi,

        we have our own gitlab running now and I succeeded to move our
        code from
        sthub to it.
        I can push my new code into it from Pharo. All fine.
        I also created a Baseline (based on my former configurationOf).
        Loading the code from others (e.g. seaside) with this baseline
        is also fine.

        There are 2 Points where I am sure it could be better (it is worse)
        1) For loading my own code, I currently have a bad solution
        It is in the postLoadBaseline and does this:

                 | gitRepository |
                 gitRepository := MCFileTreeRepository new
                         directory:
        '/Applications/Pharo5.0-7.app/Contents/Resources/spf-gitlab/repository'
        asFileReference.
                 {'RKA24-Model' . 'RKA24-System' . 'RKA24-Translator' .
        'RKA24-View' .
        'RKA24-Test' . 'RKA24-Report' . 'RKA24-Overwrites'}
                         do: [ :each |
                                 Gofer it
                                         repository: gitRepository;
                                         package: each;
                                         load ].

        I would like to load it within my baseline like this below but I
        dont know
        what to write in the fileTreeRepository method...

        baseline: spec
                 <baseline>
                 spec
                         for: #common
                         do: [ spec blessing: #baseline.
                                 spec repository: ##self
        fileTreeRepository##.
                                 "here I load all the the oher stuff"
                                 spec
                                         package: 'RKA24-Model';
                                         package: 'RKA24-System';
                                         package: 'RKA24-Translator';
                                         package: 'RKA24-View';
                                         package: 'RKA24-Test';
                                         package: 'RKA24-Report';
                                         package: 'RKA24-Overwrites' ]

        2) Also, when I take a new Image, I have to do several steps

        load gitfiletree from catalog
        add/open my gitfiletree repository from Monticello
        load BaselineOfRKA24 manually with
        (BaselineOfRKA24   project map at: 'baseline') load

        I think this is not the best way, I would like to make it right.

        Can anyone give me some hints how to improve this two steps?
        I use Pharo 5 and I don't want to go to Pharo 6 right now.
        I develop on mac and production server is on windows.

        Regards
        Sabine





        --
        View this message in context:
        
http://forum.world.st/2-questions-around-gitlab-gitfiletree-BaselineOf-tp4953877.html
        
<http://forum.world.st/2-questions-around-gitlab-gitfiletree-BaselineOf-tp4953877.html>
        Sent from the Pharo Smalltalk Users mailing list archive at
        Nabble.com.




    ------------------------------------------------------------------------
    If you reply to this email, your message will be added to the
    discussion below:
    
http://forum.world.st/2-questions-around-gitlab-gitfiletree-BaselineOf-tp4953877p4953880.html
    
<http://forum.world.st/2-questions-around-gitlab-gitfiletree-BaselineOf-tp4953877p4953880.html>

    To start a new topic under Pharo Smalltalk Users, email [hidden
    email] </user/SendEmail.jtp?type=node&node=4953938&i=1>
    To unsubscribe from Pharo Smalltalk Users, click here.
    NAML
    
<http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>




------------------------------------------------------------------------
View this message in context: Re: 2 questions around gitlab, gitfiletree, BaselineOf <http://forum.world.st/2-questions-around-gitlab-gitfiletree-BaselineOf-tp4953877p4953938.html> Sent from the Pharo Smalltalk Users mailing list archive <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html> at Nabble.com.


Reply via email to