flowtool-git¶
The practical git interface for almost all flowtool components.
Practical meaning in this case, that whereever possible GitPython is used to interact with git repositories. But since GitPython does not yet support all the features used in flowtool’s components, some features currently can only be “handmade” by utilizing the git shell command. This is possible trough GitPython already in a convenient manner, and is used whereever git interaction is required.
The exception of ‘all git interaction goes through here’ are the drop-in files of flowtool-versioning. Since these should be free of dependencies as much as possible (only stdlib by now) they call the git command directly.
This module also contains a libary of convenience functions for git tasks. It has still a very small set of functions, like filtering tags for a certain prefix, or pre-parsing the output of git status -s.
Source Links¶
The biggest module by now is flowtool_git.common. It’s main attraction is a cached git repository retrieval mechanism (check out the @cached function local_repo).
flowtool_git.config contains two functions to retrieve the local repos git configuration as a two layer deep dict.
The code to manage git tags (two functions at the time of this being written). is contained in flowtool_git.tags.
All of these library files should receive bumps in the future, when the flowtool-gitflow components will be shaped out.