Catkin plugin: wstool asking for username multiple times in console

I’m loading my ROS packages in my workspace using a .rosinstall file and wstools by using the catkin-tools plugin.

I’m facing an issue when I have multiple repositories listed in my .rosinstall file which require a Github login. The console asks me for a username like this without a possibility to enter it properly the first time:

Username for 'https://github.com': Username for 'https://github.com':

And then things start to get strange because after entering a username, I get ask for a PW. When I enter a PW, it assumes that the PW was my username…

As long as I have just one dependency requiring a login in my .rosinstall file, it works as expected. Not sure if this is a bug @kyrofa

  workspace:
    plugin: catkin-tools
    source: .
    rosinstall-files: [snap/local/snap.rosinstall]
    recursive-rosinstall: true
    catkin-packages: [catkin_simple, nav_gui]
    build-packages: [git] 
    after: [qt5]


- git:
    local-name: private_repo1
    uri: https://github.com/lab/private_repo1.git
    version: fix/add_dep

- git:
    local-name: private_repo2
    uri: https://github.com/lab/private_repo2.git

Ah, private github repositories? I’m not sure if snapcraft has a great way of dealing with those. You might try using SSH access instead and using a deploy key of some kind, but you would need to get that key on the build VMs somehow (assuming you’re using them). @sergiusens is such a thing supported?

Exactly, they are private. It seems to work fine with https and entering the credentials during the build if there is only one private repository. I’m pretty sure it even worked for several ones when I tried it two months ago. The problem right now is the unability to enter the first username. I’m not sure why it skips this input.

@kyrofa @prex

If you use the snapcraft candidate (or edge) version, there’s a new option --bind-ssh, which will bind your ~/.ssh to the build environment container. This was done for exactly this reason :slight_smile:

1 Like

Thank you, @cjp256. @prex I recommend that over HTTPS; I’m not sure what the deal is with the prompting but it will be impossible to automate anyway.

1 Like

Yes, --bind-ssh in 3.10.

1 Like

Great, with the update to 3.10, I’m successfully using --bind-ssh now.

1 Like