いいか悪いかは置いておいて、subversionにコミットした時にローカルファイルのタイムスタンプをコミット日付にしたいと言う要件があって、「svn propset」で出来ることはネットの情報で分かったんですが、日付が+09:00されてしまって悩んだので以下の方法を試してみました。
タイムスタンプをUTC時刻で取得する
とりあえず、以下のシェルでローカルのタイムスタンプをUTCで返すようにした。
ISO8601の拡張形式(YYYY-MM-DDTHH:MM:SSZ)を返却します。
get_utcdate.sh
env TZ=UTC+0 ls --full-time ${1} | awk '{printf "%-10sT%-15sZ",$6,$7}'
#コミット日付を付け替える
事前にリポジトリのhooks/pre-revprop-changeでsvn:dateを許可する必要があります。
後、指定したrev全体に変更が反映するはずです。
propset.sh
svn propset -r 999 --revprop svn:date "`get_utcdate.sh TARGET_FILE`"