SVNで紛失したファイルの復活方法。チェックアウト直後の紛失理由は何か

SVNでチェックアウトしたファイルを普通に削除すると、そのファイルは紛失という扱いになります。
その状態からの復活、復旧方法は、

目次

削除しただけの状態からの復活方法

単にSVNの「更新」をするだけです。消してしまったファイルが復活します。

削除した後コミットしてしまったら

削除する前のリビジョンを別の場所にチェックアウトして、それをいつも使っているフォルダにコピーして戻します。その後復活させたファイルをコミットします。

大文字と小文字の違いで紛失

実はこれでハマる人が一番多いのではないかと思います。
Unix、Linux系のOSは、ファイル名に英字の大文字と小文字を見分けますが、Windowsではそれを見分けません。
例えば、Linuxでは、aaa.txt と AAA.txt は別のファイルであると認識するのですが、Windowsでは同じファイル扱いにしてしまいます。

なので、SVNのサーバーがLinux系マシンで aaa.txt と AAA.txt が同じフォルダにあったとして、Windowsマシンにチェックアウトすると、それは別ファイルであると認識できないので、どちらかが紛失扱いになります

新規でチェックアウトした直後に紛失するファイルはこれが原因です。
解決方法は、Linuxサーバー側で、大文字と小文字の違いだけのファイルを作らないようにするだけです。SVNでいきなり紛失するのも問題ですが、それ以前にファイルの命名規約として「大文字と小文字の違いだけのファイルを作らない」との規定を定めましょう。ファイル名が口頭では伝わらないし、誤解、誤認する原因があるとバグの元です。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
目次
閉じる