VexedElephant56 the line of code you pointed to only removes basic user auth (i.e. https://foo:bar@github.com/ ...
is turned in https://github.com/ ...
) - it will not remove the git scheme from the URL
VexedElephant56 as far as I know the agent will only remove this if you provided user/pass for non-ssh authentication
On the other hand: remove_user_pass_from_url("git@repo.com:2222/jks/experiment.git")
works correctly as it results in git@repo.com:2222/jks/experiment.git
Hi VexedElephant56 , does it fail when it runs on the agent?
Got you 🙂 , thanks, we'll take a look
Therefore it's a minor bug and not working as intended because that function converts:
ssh://git@repo.com:2222/jks/experiment.git into
ssh://repo.com:2222/jks/experiment.git
I think it should be something like this:f = furl(url) if f.scheme in ['http', 'https', 'ssh'] and f.password: url = f.remove(username=True, password=True).tostr()
instead of:url = furl(url).remove(username=True, password=True).tostr()
What about if you specify the repo user/pass in clearml.conf?
I think it removes the user/pass so it wouldn't be shown in the logs
I think it works now by accident, as mailto:git@repo.com is not a valid scheme URL, so it doesn't get parsed at all by furl library
Yes, it's the same, because the passed url is the same. I need to have git url in the mentioned format or the agent cannot clone the repo.
I need to use SSH-based authentication, so I guess that's not an option. Well the removal affects cloning URL, i.e. while ssh://git@repo.com:2222/jks/experiment.git works fine ssh://repo.com:2222/jks/experiment.git doesn't, because it assumes current user as SSH user.