Jump to content

A few plastic GitSync learning notes and issues


Dantankerous
 Share

Recommended Posts

Hello.

I wanted to comment on and document various questions and issues I have with plastic in conjunction with GitSync in case it helps with others.

To reinforce what's already been mentioned here , I've found the current Plastic GitSync documentation to be quite lacking, so I'll try to walk through my steps that might raise questions that aren't well covered in the docs.

1:  I have a 'gitolite3' git server running on a separate machine ('mygitserver').

2:  I have a windows PC ('devpc') with a clean install of plastic enterprise (11.0.16.7388) for which I'm currently using a trial license.

3: Following the tutorial, I seem to have to create a new repository first before I can do anything with GitSync.  This is already raises an unclear issue:  'mygitserver' already contains several repositories that I'm trying to use, so to have to first create a new repository on my 'devpc's localhost plasticscm server isn't well explained in my opinion.  For example, with a clean installed plastic client, I've been wondering whether we're supposed to (or are able to) point the plastic client straight at a git server (or specific respository on a server) in the client configuration prompt that asks for a server.  I suspect this initial client configuration server specification has to be a plastic scm server but it would be helpful to explain why (... or to to reiterate why, if I've somehow overlooked or misunderstood how things work with plastic and gitsync).

Anyway, I proceed to create a new plastic repository (even though this is counter-intuitive because I want to use an existing git repo.).

4: Then I right-click the /main branch: 'Push/Pull' (n.b. the doc's seem to use a different name) > 'sync with git'.  What do I use for the git repository url?  It seems as though the plastic docs only use 'https://...' urls.  On my 'devpc', I'm able to just use '> ssh gitolite@mygitserver', for example, to list all available repositories as well as all the usual commands lie '> git clone gitolite@mygitserver:repoabc'... so I have a guess at using 'gitolite@mygitserver:repoabc'.  This results in an error -

"The transport for gitolite@mygitserver isn't supported, sorry."

Let's try this instead:  'git://gitolite@mygitserver:repoabc'. Nope -

"An error occurred while connecting to Git:  No connection could be made because the target machine actively refused it.  192.168.1.71:9418"

Should I be using this:  'ssh://gitolite@mygitserver:repoabc'? Still fails -

"An error occurred while connecting to Git:  ssh connection failed."

I realise the quirks of various git server implementations and protocols are not particularly the domain and responsibility of Plastic but I see a lot of people flailing around with similar problems elsewhere relating to the syntax for specifying git repos in conjunction with the different protocols, so plastic could really help us out here by illustrating the various accepted forms of a git repository url.

Confused at why I can run git commands on the command line just fine, but I'm getting unhelpful errors with GitSync, I hunted around and found yet another suggestion elsewhere, to try to put some settings in:  C:\users\[me]\.ssh\config -

Host mygitserver
    User gitolite
    Port 22
    IdentityFile C:/path/to/my/privatersakey

and now I try again and have a guess at using 'ssh://mygitserver/repoabc'... which finally works!  I don't actually know whether this config was even necessary or whether the key was to not use the ':' separator from the git server and the repo name.  How is one supposed to correctly specify a URL for a working '> git clone gitolite@mygitserver:reponame' command?

Anyway, it's unfortunate that I've been allowed to create a plastic repository whose name differs from that of the git repository.  I suspect it would be a nicer workflow if we could point plastic straight at a git repo(s) from the start and have plastic client do any necessary plastic server repo mirroring/creation behind the scenes, at the same time as specifying the local workspace and an (optional) git repo url in the 'Create a new repository' dialogue, where the use of a git repo url would force a matching plastic repository name (or as matching as possible, since I think you can have arbitrarily namespaced-style git repositories, like 'some/dir/repoabc', and this exact pathing style might not be allowed in plastic's repo names).

 

Finally, I've also seen mention of gmaster on these forums and elswhere but 'https://gmaster.io' is unreachable.  Has it been discontinued (if so, why?) or is it just temporarily unavailable?

 

Thanks

Dan

Link to comment
Share on other sites

For the benefit of anyone else with similar questions:  I've been given one response about GMaster (via private support; don't know why we can't get answers here) -

Quote

I'm afraid that we have reached the difficult decision to focus our work on Plastic SCM and cease the development and support of Gmaster effective 31 March 2022.

But ceasing development doesn't necessarily mean making a product unavailable, so it raises further questions about whether it is still technically available, albeit unsupported, which I'm asking for clarification on.

Howver, there's no further clarification on my other questions.

Link to comment
Share on other sites

Again, for the benefit of anyone else with similar questions:  Plastic support have confirmed that ceasing Gmaster development also means that there is also no way to still get hold of it;  it's officially not available.

As for the question, "How is one supposed to correctly specify a URL for a working '> git clone gitolite@mygitserver:reponame' command?":   Plastic support also aren't sure, which reinforces my point (and a point made by others) that the user is left to flail without adequate documentation or syntax hints/help from the plastic client, at least in this particular use case, and so would benefit from improvements in this area.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...