TortoiseSVNでコロン(:)などの無効な文字を含んだフォルダでブランチを作成してしまったとき【備忘録】

状況

TortoiseSVNで「半角コロン(:)やバックスラッシュ(\)といった、フォルダ名として無効な文字を含めてブランチを作成してしまいました。

Windows7では以下の通り、「\ / : * ? " < > |」といった文字が使えません。
f:id:puu_0328:20170516134740p:plain

それが何らかのタイミングでブランチを作成しちゃってたというものです(T_T)

このせいで、SVN更新でエラーとなったり、当該フォルダを削除も名前の変更もできない状態です。


もしファイルやフォルダが作成されただけであれば、こちらで対応できるようです。
www.atmarkit.co.jp


しかし、バージョン管理されている場合は当該フォルダをローカルで削除できても、その後SVNにコミットする必要があります。
だけど、SVN上に無効な文字が含まれているため、削除したことをコミットできない。。
そしてリポジトリブラウザからも「ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っています」
といったエラーが表示されてしまい、リネームや削除できない状況になりました。



そもそも何故無効な文字でブランチを作成できたのか

作成日時を確認してみると、eclipce上でブランチの作業をしているタイミングで作成していたようです。
→切り替えしようとしてエラーが発生した。
→つまり、eclipse上では無効な文字を含むフォルダを作成できる??
→作成できるということはリネームもできる!!!??

という発想になり、さっそくeclipseを起動
SVN リポジトリー・エクスプローラー」を表示。
f:id:puu_0328:20170516142043p:plain

SVNリポジトリーの当該フォルダを右クリックし、[リファクタリング]>[名前変更(R)...]を選択します。
f:id:puu_0328:20170516142737p:plain

名前を変更し、[OK]をクリックします。
f:id:puu_0328:20170516143012p:plain


これで、無効な文字がSVN上にも含まれなくなり、
正常にコミットや更新が行えるようになります。

いや~、ほんとうに焦りました。。なんとか対応できて良かったです(^^)