Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Track changes in a line from a file using git
Shell
branch: master

Merge pull request #1 from lyda/osx

Patch to support OS X.
latest commit 507685d373
@renard authored
Failed to load latest commit information.
README.asciidoc Initial commit.
git-line-history Support OS X.
git-line-history.1 Initial commit.
git-line-history.1.txt Initial commit.

README.asciidoc

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 © 2011 Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>.

Relased under WTFPL (http://sam.zoy.org/wtfpl/COPYING).

Something went wrong with that request. Please try again.