git-line-history
git-line-history copied to clipboard
Track changes in a line from a file using git
= git-line-history(1) =
== NAME ==
git-line-history - Track changes in a line from a file using git
== SYNOPSIS ==
git-line-history file regexp
== DESCRIPTION ==
+git-line-history+ helps to find out which commits have modified a line in the whole revision history of a single file from a git repository.
This tool was formerly made to retrieve the version changes in a git tree in order to create tags.
== ARGUMENTS ==
The 2 mandatory arguments are the file on which the research should be performed, and the regexp to be used to track the line change.
== USAGE ==
=== Version changes ===
To search for all commits that change the version from a python module, this line could be used:
git line-history setup.py version
A possible output with all version changes could be something similar to:
382f92b58bc64e128bb2f066801b3ab6c6dcff6a: version="1.3d", 24dbec800e5c59ecc3419a92bf778f16cdd7a45d: version="1.3c", fe46da172abea13c304bb23de671433f65f5da96: version="1.3b", ff8ba7be2aac3a809a0410ffbb59ddf07e930a2f: version="1.3a", 501934e10a4b1d71c734c5dc2c224161dcdbe96b: version="1.2b", bf82e0fff633be15c13ae3063daf935b94ec58c5: version="1.2a", 2cfb388181e14cae105d9c2c63e21199539d1872: version="1.1a", adf625d464a4a7b06241a1b5685c209296740992: version="1.0e", 4050a0b87467797d1aef1887aac6d396b1e6586b: version="1.0d", 648343e2de71a37099eeef62f53a4adf077e2703: version="1.0c", 696f3a72f936038e85245832f5564d9d40ddff9a: version="1.0b", 717178019715c0dcd9b90d53c897f06fa77b42f1: version="1.0a",
=== Setting up tags ===
To tag a repository against change sets from the previous example, the following command could be used:
git line-history setup.py version | sed -n
's/^([^:]+):."([^"]+)"./git tag -m "Version \2" \2 \1/p'
| sh
== SEE ALSO ==
git(1), grep(1), regex(7).
== HISTORY ==
2011/03/26:
First release.
== BUGS ==
No time to include bugs, command actions might seldom lead astray user's assumption.
== AUTHORS ==
+git-line-history+ is written by Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>.
== COPYRIGHT ==
Copyright © 2011 Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>.
Relased under WTFPL (http://sam.zoy.org/wtfpl/COPYING[]).