vcstools/wstool — pull request #27 by jbohren (2014-10-01 15:58:37+00:00)
Title: info: adding entries for unmanaged paths

This patch adds a new `!` status for vcs-controlled paths which are not listed in a workspace's `.rosinstall` file. This addresses some usability requests described in #26.

Below shows the output for a workspace with three repos which aren't in the `.rosinstall` file:
```
[yavin:~/ws/hydro/main/src]$ wstool info
workspace: /home/jbohren/ws/hydro/main/src

Localname S SCM Version-Spec UID (Spec) URI (Spec) [http(s)://...]
--------- - ---- ------------ ----------- ---------------------------
sophus ! git 731ee8922ed3 git@github.com:jbohren-forks/sophus.git
ascent ! git a62449a90ae0 git@git.lcsr.jhu.edu:ascent/ascent.git
liburdfdom-headers-dev ! git 1593fb14d8b1 git@github.com:ros/urdfdom_headers.git
catkin git dont-overwrite-marker-on-install 46da0c484922 git@github.com:jbohren-forks/catkin.git
cartesian_trajectory_msgs git 9061672c8eaf git@github.com:jhu-lcsr/cartesian_trajectory_msgs.git
barrett_moveit git 6a7f5f8ec7a3 git@github.com:jhu-lcsr/barrett_moveit.git
barrett_model git 63670e70f9ae git@github.com:jhu-lcsr/barrett_model.git
```

This patch also adds the additional description to the cli documentation (though this documentation looks really out of date otherwise):
```
[yavin:~/ws/hydro/main/src]$ wstool info -h
Usage: wstool info [localname]* [OPTIONS]

Overview of some entries

The Status (S) column shows
! for not listed in the config file
x for missing
L for uncommited (local) changes
V for difference in version and/or remote URI

The 'Version-Spec' column shows what tag, branch or revision was given
in the .rosinstall file. The 'UID' column shows the unique ID of the
current (and specified) version. The 'URI' column shows the configured
URL of the repo.

If status is V, the difference between what was specified and what is
real is shown in the respective column. For SVN entries, the url is
split up according to standard layout (trunk/tags/branches).

When given one localname, just show the data of one element in list form.
This also has the generic properties element which is usually empty.

The --only option accepts keywords: ['path', 'localname', 'version',
'revision', 'cur_revision', 'uri', 'cur_uri', 'scmtype']

Examples:
$ wstool info -t ~/ros/fuerte
$ wstool info robot_model
$ wstool info --yaml
$ wstool info --only=path,cur_uri,cur_revision robot_model geometry

Options:
-h, --help show this help message and exit
--data-only Does not provide explanations
--only=ONLY Shows comma-separated lists of only given comma-
separated attribute(s).
--yaml Shows only version of single entry. Intended for
scripting.
-u, --untracked Also show untracked files as modifications
-t WORKSPACE, --target-workspace=WORKSPACE
which workspace to use

See: http://www.ros.org/wiki/rosinstall for details
```