word-by-word blame for git
Project description
git-word-blame
Show word-by-word authors of a file
Demo
Executing git word-blame git.c
on the git
repository we get:
Installation
pip install git-word-blame
Usage
git word-blame <path/to/my/file>
It will produce the following files (by default in /tmp/git-word-blame/
):
- author_stats.tsv # top authors by number of characters attributed to them
- commit_stats.tsv # same for commits
- word-blame-by-commit.html # hover on some text to see which commit created it
- word-blame-by-author.html # same for authors
- text-output # tokens grouped by authors as a grep-friendly output
Authorship algorithms
Two algorithms are available:
wikiwho
(default): coarse but more robustmwpersistence
: precise but with more false-positives
To change the engine used by git word-blame
:
git config --global word-blame.engine mwpersistence
HTML output
You can choose between 3 themes for the HTML output: black-and-white
, solarized-dark
, solarized-light
.
git config --global word-blame.theme solarized-dark
By default a git command is shown when clicking on the text, you can change this behavior and make it go to the diff online (Github/Framagit) directly:
git config --global --bool word-blame.link-to-online-commit true
Limits
git-word-blame
doesn't support renames for now and is only tested on files with a linear history.
There's also a default maxmum of 2000
commits processed. This can be removed with this command: git config --global word-blame.limit 0
.
WikiWho
does not yet, to my knowledge, support attributing white-space, it's attributed to the token coming after it.
See also
-
https://github.com/wikiwho/WikiWho/ and https://github.com/wikiwho/WhoColor A word-by-word blame for Wikipedia with a well tested algorithm for prose (default algorithm) The HTML vizualisation of this project is heavily inspired by WhoColor
-
https://github.com/mediawiki-utilities/python-mwpersistence/ An alternative authorship algorithm detection made also for Wikipedia
-
https://github.com/d33tah/wordblame Export Wikipedia articles to git to perform a word-by-word blame, it does that by putting each word in a separate line for each file in the history
-
https://github.com/lucadealfaro/authorship-tracking Another altenative not yet integrated
-
https://github.com/git-persistence/git-persistence A character-by-character authorship oriented towards scoring the authors on a whole repository
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file git-word-blame-0.0.7.tar.gz
.
File metadata
- Download URL: git-word-blame-0.0.7.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 PyPy/6.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f5526f61348fe0f18249b9361600ab88922e9ae1e11f3a4af97fbe2645eceec |
|
MD5 | af34ebf5d25fe2ca47a741d6298c9399 |
|
BLAKE2b-256 | 63a4b12d10849773697cdc0ffc4b88f7fcb193dbcb6659c2fd4e0a2ac913b9b0 |
File details
Details for the file git_word_blame-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: git_word_blame-0.0.7-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 PyPy/6.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593c0d2b7787d99f28104a7595fe2c9e7a8517f54ebed27342ec5a6f0b190154 |
|
MD5 | 2358ffa0671f2debf36537e57560527d |
|
BLAKE2b-256 | 97d2da31d5258774312d4620ebb976611fda38757101a2a3c1492568b0c40b40 |