require 'time'
require 'rexml/document'

# 指定した作業コピーのリビジョンとそのリビジョンのコミット日時を文字列で返す
def get_revision_datetime_str(wc_path)
	info_xml = `svn info --xml #{wc_path}`

	raise "command failed" if $? == nil or $?.exitstatus != 0	# コマンド失敗をチェック

	info = REXML::Document.new(info_xml)

	revision = info.elements["/info/entry/commit"].attributes["revision"].to_i
	utc_time = Time.xmlschema(info.elements["/info/entry/commit/date"].text)
	jst_time_str = utc_time.getlocal.strftime("%Y-%m-%d %H:%M:%S +0900 JST")
	utc_time_str = utc_time.utc.strftime("%Y-%m-%d %H:%M:%S +0000 UTC")

	return <<"REVISION_DATETIME_STR"
  revision #{revision} #{jst_time_str}
                (#{utc_time_str})
REVISION_DATETIME_STR
end

puts "kujira_text:"
puts get_revision_datetime_str("kujira_text")
puts "xy_project:"
puts get_revision_datetime_str("xy_project")

