Ever wondered in which state your workspace was, when you called catkin_make install?
This package will help you with this.
It creates a log of changes showing you detailed information about your workspace. Which repository was in which state? Have any files been changed, added, removed or renamed?
(Disclaimer: Obviously, this package also works with the catkin_tools variants of the catkin commands.
However, we will only stick to catkin_make in the following for an easier read.)
This tool depends on the gitpython module.
To install gitpython, simply run pip install gitpython.
There are several ways to use this tool.
- Via
CMakeduring the build and install step ofcatkin_makeby cloning the repository. - By manually calling the tool via
rosrun.
Simply clone this repository into your catkin workspace.
When compiling your workspace, it automatically creates the build_state.log within the build_state_logger directory.
When you install your workspace, the build_state.log file will be installed in install/share/build_state_logger.
The tool looks at all repositories in <YOUR_WORKSPACE>/src directory.
Note that in the current state, the log file will be generated on each run of CMake, i.e. at each call to
catkin_make and catkin_make install
As this is a regular ROS package this tool can also be used as any other python node.
Just make sure it is on your ROS_PACKAGE_PATH and call
rosrun build_state_logger build_state .
in the directory in which you want the build state to be logged.
-h, --help show this help message and exit
-o OUTPUTPATH, --outpath OUTPUTPATH
the path of where to put the build_state.log file. If
empty, the output is shown on the terminal.
-n, --nopatch do not provide patches of changed files.
-d, --list-debs list also all installed debian packages
-p, --list-pypkgs list also all installed python packagesNote that when using --list-pypkgs this takes all packages on the current python path.
If your workspace is usually run using a virtual environment, you need to source this prior to running the script too.
This package is licensed under LGPL.
gitpyhon is licensed under the
new BSD license.