Repysitory

提供: やる気向上作戦

メインページ


目次

何ですかこれは?

SubversionのPythonバインディングを、使いやすいようにラッピングしたクラスライブラリ。 自分の使う最低限の機能しか実装してません。

ダウンロード

オンラインドキュメント

最新のリビジョンで追加/更新されたファイルの内容を表示

from repys.repys import *
 
# リポジトリのパス
repospath = '/var/svn/test'
 
# メモリプールを作成
pool = Pool()
 
# リポジトリオブジェクトを構築
r = Repository(repospath, pool)
# ファイルシステムオブジェクトを取得
f = r.fs()
# 最新のリビジョン番号を取得
rev = f.youngest_revision()
# 最新リビジョンのバージョン化ファイルシステムのルートを取得
fsRoot = f.revision_root(rev)
# 変更されたパス一覧を取得
changes = fsRoot.paths_changed()
# 変更されたパスのうち、追加/変更されたファイルの内容を表示
for i in changes:
if (i.change_kind() == PATH_CHANGE_ADD or
i.change_kind() == PATH_CHANGE_MODIFY):
node = fsRoot.node(i.path())
if (node.is_file()):
print i.path() + ":"
strm = node.contents()
text = strm.read()
strm.close()
print text
print node.proplist()
 
# メモリプールを破棄
pool.destroy()
個人用ツール