投稿日:

    カテゴリー 技術 / デザイン / 制作

    Subversionでファイル削除にハマりました…。

    こんばんわ、ここ2,3日肺が痛いおーみです。
    最近気温差が激しいのでみなさん気をつけてください。

    入社以来開発ツールとして使っているSubversion(以降SVN)ですが思わぬところでハマりました。
    ファイルが削除できない…。

    そんなまさかと思う方読んでみてください。

    ファイル管理のツールとして弊社ではかかせないSVNですが使っているときにまれにですがハマります。
    自分は日本語対応として1.6から1.7にバージョンを上げてからなんとなくトラブルが多いです。

    あと当初からずっとなのですがSVNクライアントを使っていません。
    MacユーザーなのでTortoiseSVNほどのものが無いというのとコマンドを叩くのが単純に好きだからです。

    ターミナルは専務のアドバイスのもと目に優しいグリーン背景です。

     

    それはさて置き本題です。ファイルの削除ができない。
    いらないファイルを削除しようと思っただけなのになぜにこんなことになるのか。

    状況を順を追って説明すると普通にファイルがあるディレクトリに移動して削除しようとしたら

    $ svn rm hoge@2x.png
    svn: E125001: 'hoge' does not exist

    ん…?なんで?
    ファイルはあるのになぜか存在しないと言われる。

     

    statusで見ても特に異常なし。
    不可視ファイルとかあるのかと思ったけどそれでもない。
    いったいなんなんだとイライラしていたらファイル名に”@”が付いていることに気づく。

    もしやと思ってググってみたら案の定同じ状況の方が↓
    http://d.hatena.ne.jp/tmatsuu/20100601/1275399818

    予想通りファイル名に”@”が付いているものは削除コマンドではじかれるらしい。
    ということで以下の方法で削除できた。

    $ svn rm --force hoge\@2x.png@HARD
    D     hoge@2x.png
    $ svn ci -m "hoge@2x.png削除"
    Deleting     hoge@2x.png

     

    revertも同じ方法でいけるみたいです。
    コマンド叩いてて困っている方がいたら活用していただければ。

    おわり