Hatena::ブログ(Diary)

すらすら はてな

2010-02-17

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

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kslash/20100217/1266395342