Mercurial Python API を特定の範囲内にある変更セットのみで使用したいのですが、docsを読んでも方法がわかりません。
私のコードは次のようになります。
from mercurial import ui, hg
import datetime
repo = hg.repository(ui.ui(), 'path_to_repo' )
start_date = datetime.datetime( 1997, 01, 01 )
end_date = datetime.datetime( 2000, 12, 31 )
# Print every changesetid in required range
for changesetid in repo:
#print repo[changesetid]
changeset = repo.changectx( changesetid )
date = changeset.date()[0]
if ( date > start_date and date < end_date):
# Do stuff...
pass
そして、私が得る出力は次のとおりです。
Traceback (most recent call last):
File "test.py", line 14, in <module>
if ( date > start_date and date < end_date):
TypeError: can't compare datetime.datetime to float
出力日付の例は次のとおりです。
- 645630248.0
- 887802818.0
'hg help days'も見たことがありますが、ここから日/月/年の日付を Mercurial の内部表現に変換する方法がわかりません。
締め切り日を、changectx.date() によって返される日付値と比較するのに適した数値形式に変換するにはどうすればよいですか?
PS この些細な例については、 hg コマンドを直接使用してこれを行うより良い方法があることを知っています...サンプルコードに含めていないのは、「実行」ポイントで追加したい複雑な手順です!