ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I assume you have something like the following in your src/.rosinstall file (the .rosinstall format is documented at docs.ros.org/api/rosinstall):

- git: {local-name: src/pulseon_p400, uri: 'https://kal04p@stash.csiro.au/scm/~her16k/pulseon_p400.git', version: 'catkin'}

The important bit of the error message you are getting is:

WARNING [vcstools] Command failed: 'git checkout catkin'
 run at: '/home/chris/test/src/src/pulseon_p400'
 errcode: 1:
error: pathspec 'catkin' did not match any file(s) known to git.

As the last step after cloning the source, wstool tries to use git to change the local clone of pulseon_p400 to the catkin branch. Apparently, that fails. Are you (and / or your supervisor) sure there is a branch called catkin in the pulseon_p400 repository? If there isn't, that is most likely the cause of the failure you're seeing.

Update the version key in the .rosinstall file, delete the current checkout and try again.


That being said: you don't need to use wstool to get a package from source into your catkin workspace. In your case, a simple:

cd /path/to/catkin_ws/src
git clone https://kal04p@stash.csiro.au/scm/~her16k/pulseon_p400.git

# optional (if the 'catkin' branch does indeed exist):
cd pulseon_400
git checkout -b catkin origin/catkin

should also work.

I typically only use wstool if I have a large workspace to manage, not for single packages.


A few additional notes:

  • it is not necessary to include the username for the repository in the uri field. If not present, git should ask you to provide it when it is invoked (similar to how you need to enter your password). It is supported though, so it will work.
  • the local-name key is expected to provide a relative or absolute path to where wstool should install the files it downloads (or: where it instructs the various vcs tools to clone the repository to). If your .rosinstall file is in /path/to/catkin_ws/src, then with the current value of local-name (being: src/pulseon_p400), your files end up in /path/to/catkin_ws/src/src/pulseon_p400. This will work, but (imho) is not very nice. Remove the src/ prefix from the line in your .rosinstall file.