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.
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.
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",
Copyright © 2011 Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>.
Relased under WTFPL (http://sam.zoy.org/wtfpl/COPYING).