Subversionの、特定リビジョンへ直接HTTPアクセスできるURL

ブラウザでSubversionレポジトリを見ているときに、ふと過去のリビジョンを参照したいときがあります。ところが、普通にレポジトリへアクセスすると、最新のリビジョンしか表示してくれません。
例:https://www.seasar.org/svn/s2container/trunk/seasar2/


もちろん、

% svn checkout https://www.seasar.org/svn/s2container/trunk/seasar2/@400

などとリビジョンを指定してチェックアウトすれば取得することは可能なのですが、どうにか手軽にブラウザだけで過去のリビジョンへアクセスできる方法はないかと調べていたら、以下のようなURLでアクセスことが分かりました。

https://{レポジトリのURL}/!svn/bc/{リビジョン番号}/{レポジトリ内のファイルへのパス}〜


つまり前述の例の場合、リビジョン400へアクセスURLは以下のようになります。
例:https://www.seasar.org/svn/s2container/!svn/bc/400/trunk/seasar2/


ただし、このようなURLは以下のように直接チェックアウトすることはできないようです。

% svn checkout https://www.seasar.org/svn/s2container/!svn/bc/400/trunk/seasar2/
svn: REPORT リクエスト (相手: '/svn/s2container/!svn/vcc/default') が失敗しました
svn: Unsupported URI form


例えば、wikiやブログなどで「xxxファイルのn行目からm行目までを編集する」という説明をすると、「xxxファイル」が更新されたときに、編集したい箇所の行番号が変わって説明が間違った内容になってしまうことがあります。


このtipsを利用して、記事を書いた時点のリビジョンでファイルへのリンクを書いておけば、行番号がずれることはないので覚えておくと便利です。