• ベストアンサー

Subversionで日本語ファイル名が文字化け

Subversion+TortoiceSVNでソースコードの管理を行っているのですが、 つい最近、両ソフトをバージョンアップ(svn 1.6.xx⇛1.6.16?)したときから ファイルのロールバックが出来なくなってしまいました。 ロールバックしようとするとチェックアウト画面のリポジトリのURLで 日本語のパス&ファイル名がURLエンコードされた状態になっており、 チェックアウトできません。 解決方法はありませんでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

>しかし、リポジトリURLは未だにURLエンコード状態…。 >こちらの解決方法はご存知ありませんか? 指定し直す…くらいですかね。 httpプロトコル、svnプロトコルではURLエンコードされていてもとりあえず問題ないですから。 とはいえ、チェックアウトすると作業コピーの名前が酷いことになりました。 リポジトリURLの「...」ボタンでブラウザ起動して再指定することで直りましたが。 # file:の時のようにファイルシステムからパスを指定する必要がない(というか上位ディレクトリに戻れる階層が多くない)ので、それほど手間ではないですし。

hiroTMJ
質問者

お礼

ありがとうございました。 再指定で運用していきたいと思います。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>「エラー 'file://サーバー名/SVN/以降URLエンコードされた文字列」 ネットワーク共有…ですか? TortoiceSVN、file:でアクセス可能なのは、ローカルディスクの場合だけで ネットワーク共有のリポジトリにはアクセス出来なくなっていたはずです。 # 1.6.xxのどこかでそういう変更が入ったっぽいですが… ネットワークドライブを割り当てて、 file:///z:/以降URLエンコードされた文字列 のようにアクセスは可能かと思われますが… その状態で「...」ボタンで再指定すればURLエンコードもデコードされた状態になるでしょう。 ただし、ネットワークドライブに割り当てた場合でも「ネットワーク共有」上のリポジトリの安全性は保証されていませんのでお忘れ無く。 # 同時に複数の環境からコミットされた場合にリポジトリが壊れる…らしい。 # ヘルプの「3.1.4. ネットワーク共有にあるリポジトリへのアクセス」参照。 「参照しているのはファイルです。ディレクトリではありません」っていうのも見た覚えはないですねぇ。 # ちなみに、どのプロトコルを使用しようとも…ファイルだけ「チェックアウト」は不可能かと思われます。 # チェックアウトはあくまでも「ディレクトリ単位」で行うことになります。 # エクスポートならTortoiceSVNのリポジトリブラウザから「名前を付けて保存」が出来そうですが。 作業コピー内の特定のファイルを過去のリビジョンのものに戻したい場合は… 作業コピー内でファイルを選択、右クリックのメニューから[TortoiceSVN]-[特定のリビジョンへ更新]で、リビジョン番号を指定すればよろしいかと……。

hiroTMJ
質問者

補足

>作業コピー内の特定のファイルを過去のリビジョンのものに戻したい場合は… >作業コピー内でファイルを選択、右クリックのメニューから[TortoiceSVN]-[特定のリビジョンへ更新]で、リビジョン番号を指定すればよろしいかと……。 この方法で過去のリビジョンへのロールバックができました! 本当にありがとうございます。 しかし、リポジトリURLは未だにURLエンコード状態…。 こちらの解決方法はご存知ありませんか?

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>チェックアウトできません。 具体的にどうなりますか? httpプロトコルですか?svnプロトコルですか? 「リポジトリのURL」の横の「...」ボタンで、リポジトリのパスを選択し直すと URLエンコードが解除された状態になりますが、その状態でチェックアウト先のディレクトリ名も訂正されませんか?

hiroTMJ
質問者

補足

>具体的にどうなりますか? チェックアウト画面でOKをクリックすると 「エラー URL」 「エラー 'file://サーバー名/SVN/以降URLエンコードされた文字列」 「エラー が参照しているのはファイルです。ディレクトリではありません」 と出ます。 そして、出力先に指定したディレクトリ(今回はデスクトップに)に URLエンコードされた文字列のフォルダが作成されますが、中身は空です。 >httpプロトコルですか?svnプロトコルですか? ローカルで使用しているので、ネットワークプロトコルは使用していません。 パスを選択し直しても、同じエラーがでます。

関連するQ&A