Repovisor – Command Line Repository Management Tools
Repovisor 0.0.1
Repovisor is a tool I have written for viewing the status of multiple repositories on the command line.
It is designed for people who have multiple repositories in use at any one time, who may need to double check whether they have forgotten to push, pull or commit changes. Running the commands at the end of a days work allows you to commit your work whilst it is still reasonably fresh in your mind.
Current Status
It is in extremely early stages of development, with currently very limited functionality. At this point in time it only recognises git
repositories, but there are plans to expand to Mercurial and Subversion at the very least.
No command line scripts are written (will be added very soon), but the initial underlying framework is there. It is currently in a high state of flux, and usage may change.
Using it as it is.
It is written in python, basically wrapping GitPython functionality at the moment. To list state for all sub-folders the current workflow is as follows:
from repovisor import repovisor as rv repos = list(rv.reposearch('/fully/qualified/path')) rv.print_all(*repos)
Output
For each directory that it finds under the top level directory (it walks the directory tree) it tests whether it can be recognised as a git repository. If it detects a git repository it sets up a link to it and stops looking under the folder (so no nested git folders).
For each linked git repository that it has found it will check whether there are any uncommitted changes or untracked files. It also grabs each local branch and tests for its current status in regards to any upstream repository.
Final Thoughts
Issues, feature requests and pull requests are welcome.
Update
Version 0.0.2 has now been released, with updated usage patterns.
A command line script has now been added in this release. To get the same functionality as above you can now enter repovise -s <top-level-dir>
at a command prompt.
Leave a Reply