git-line-history

Track changes in a line from a file using git

Stars
39

= 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[]).