web-dev-qa-db-ja.com

現在のファイルとbzrの最新のタグ付きバージョンの間にファイルの差分を作成するにはどうすればよいですか?

Bzrを使用して追跡されるファイルがあり、現在(現在のように現在、最新のコミットではない)と最新のコミットバージョンの間の差分の作成をスクリプト化したいと思います。タグ付けされています

誰かがこれを達成する方法を知っていますか? bzrスクリプトやPythonエキスパート)はあまりありません。

6
Vadim Peretokin

このような何かがトリックを行う必要があります:

#!/usr/bin/env python

import commands
import sys
import os

# Get the revision number of the most recent tagged commit.
tags = commands.getoutput("bzr tags --sort=time")
latest = tags.split()[-1]

target = sys.argv[-1]
if not os.path.isfile(target):
    print "Error, no such file: '"+target+"'"
    sys.exit(1)

print commands.getoutput("bzr diff "+target+" -r "+latest)

使用法:

 python diff-from-tagged.py test

出力:

=== modified file 'test'
--- test    2011-01-08 19:20:31 +0000
+++ test    2011-01-08 20:00:12 +0000
@@ -1,1 +1,2 @@
 dfsafd
+The quick brown fox
4
Isaiah