git-blame for stacktraces
git-stacktrace is designed to make it easy to figure out which commit caused a given stacktrace.
git-stacktrace looks for:
- commits in given range that touched files in the stacktrace
- commits in given range that added/removed code present the stacktrace
Run tests with: tox
$ pip install git_stacktrace
For the CLI see: git stacktrace -h
For the Python API see: git_stacktrace/api.py
$ git stacktrace --since=1.day < trace Traceback (most recent call last): File "webapp/framework/resource.py", line 72, in _call result = getattr(self, method_name)() File "webapp/resources/interests_resource.py", line 232, in get if self.options['from_navigate'] == "true": KeyError commit da39a3ee5e6b4b0d3255bfef95601890afd80709 Commit Date: Tue, 19 Jul 2016 14:18:08 -0700 Author: John Doe <email@example.com> Subject: break interest resource Link: https://example.com/D1000 Files Modified: - webapp/resources/interests_resource.py:232 Lines Added: - "if self.options['from_navigate'] == "true":"
- Fix python traceback parsing where code is missing (https://github.com/pinterest/git-stacktrace/issues/10)
- Add –debug flag
- Add python 3 support
- Support arbitrary sized abbreviated hashes
- Clarify CLI help message
- Match file line numbers in stacktrace to lines changed in commits
- Differentiate files added, deleted and modified
- print stacktrace headers and footers
- Fix git pickaxe error (Use ‘–’ to separate paths from revisions)
- Add initial java stacktrace support. Begin supporting basic java stacktraces, some more complex formats are not supported yet.
- Get ready for pypi
- Initial open source commit