2013-07-20 7 views
9

バージョン管理で単語単位の履歴を再構築することはできますか?理想的には、1)関心のある行の範囲を指定する、2)バージョン間でコードが頻繁に上下するように、以前のバージョンの対応する行番号を調べるバージョンの範囲、例えばリビジョン19以降、または1週間前)、3)単語単位の履歴、最後に変更されたバージョン、または単語群が変更された著者を印刷する。だから、svn blamegit blameのようなものが、単語単位で表示されます。バージョン管理でWord-by-word blame/annotate?

上記の#1と#2を実行できるツールはありますか?つまり、1)関心のある行の範囲を指定し、2)以前のバージョンで対応する行番号を調べるようにします。3)プログラムはこれらの行の履歴を印刷します(変更があったとき)。

svnまたはgitのいずれかが本当に役に立ちます。

+1

単語ごとに!私はそうは思わない、gitのトラックは行ごとに変更されます。あなたは作家のためのgitを使用しようとしていますか?プログラマにとって私はこのレベルの責任は必要ないとは思わない。 –

+0

はい、少なくとも現時点ではLaTexドキュメントでこれを実行しようとしています。それはgitに組み込む何かである必要はありません。私はgitの歴史を読むことができるgitの外部のプログラムもこれを行うことができると思います。 –

+3

@JeslyVarghese:Gitはスナップショットによって変更スナップショットを追跡します。ラインベースのフォーマットはオンザフライで計算され、ワー​​ドベースのフォーマットも可能です。 – nosid

答えて

1

このようなことを探して、自分の解決策をハックアップしました。あなたはここでそれを見つけることができます:

https://github.com/d33tah/wordblame

基本的には、すべてのスペースが改行やスペースがあったことを知らせるユニークな文字列に置き換えた新しいリポジトリのディレクトリを作成します。次に、 "git blame"が実行され、結果が再解釈されます。