✍️blog

技術系のこととか

SubversionでNo such revision言われた

コード管理はもっぱらGitですが、ドキュメント(MarkdownとかではなくExcelやWordのようなバイナリ系)類は、Subversionで管理することが多いです。

これについての是非は様々あると思いますw

所謂、Web系ではなくエンタープライズなところだとSubversion使ってるところも多いのではないでしょうか。

それにそういうところだとそれなりに古くから同じSubversionのオンプレのサーバーを使っていたり。。。

うちの会社でも古めなサーバーが動いているのですが、それが原因なのか何なのかチェックアウトをしようとすると「No such revision」といわれるようになりました。

それも、なぜか内のプロジェクトで使っているリポジトリだけという。。。

とりあえず、以下のコマンドを実施すると途中でエラーとなりました。。

svnadmin verify {リポジトリのディレクトリ}

なんとか復旧できないものかとググると同様な症状として以下の記事が引っ掛かりました。

recyclebin5385.blog13.fc2.com

対処としては上記の記事とほぼ同じ形で、リポジトリをコピーしてdb/revs、db/revpropsの最新のリビジョンを削除し
currentを最新の一つ前のリビジョンに書き換えます。
私の場合はなぜかcurrentの中身が空になっていました。。。

当然最新のリビジョンの内容は失われるので復旧した後再度そのリビジョンの内容をコミットする必要があります。

以下のコマンドでリポジトリの復旧を試みます。

svnadmin recover {リポジトリのディレクトリ}

これでエラーとなる場合は、もう駄目なんでしょうかw
私の場合は問題なく復旧できたので以下のコマンドで再度リポジトリの検証を行います。

svnadmin verify {リポジトリのディレクトリ}

問題ないことを確認して復旧完了です。

原因は不明ですが、私の場合は最新のリビジョンのデータを書き込む際に何かしらの問題があったようです。

また再発するかもしれませんが、復旧したのでとりあえずOKです。

別のサーバーに近々移行しようかな

via GIPHY