2009-05-12 17 views
105

svn statusを実行するとチルダシンボルが表示されます。Subversionステータスシンボル "〜"はどういう意味ですか?

ここでは、XCodeで編集したプロジェクトの出力を示します。

svn status 
M  build/Currency_Converter.build/Currency_Converter.pbxindex/imports.pbxbtree 
M  build/Currency_Converter.build/Currency_Converter.pbxindex/pbxindex.header 
M  build/Currency_Converter.build/Currency_Converter.pbxindex/symbols0.pbxsymbols 
~  build/Currency_Converter.build/Currency_Converter.pbxindex/strings.pbxstrings 
M  main.m 
//more changed files 

どのような意味ですか? Googleまたはsvnのチートシートのいずれかでそれを見つけるように見えることはできません。

興味深いことに、私はmain.mを編集しただけですが、多くの変更されたファイルがあります。なぜそんなことになるのだろう。誰でもSVNとXcodeで作業するためのヒントはありますか?ソースファイルをバージョン管理下に置くだけでいいですか?

編集: - 既にバージョン管理下にあったファイルが別のタイプのファイルに置き換えられたことが原因です。この場合、strings.pbxstringsはファイルであり、現在はディレクトリになりました。物語の道徳は、あなたのビルドフォルダをバージョンコントロールに入れないことです。

+0

うーん、ちょうど再追加するのではなく、「修正」する方法があるかどうかはわかりません。このステータスを解決する良い方法があるかどうかを尋ねる別の質問を投稿したい場合は、(現在の質問にはすでに回答しているので)もっと注意を喚起するでしょう。 –

答えて

86

SVN Bookは言う:

項目は、オブジェクトの一種(ファイル、ディレクトリ、リンク)としてバージョン管理されているが、オブジェクトの異なる種類で置き換えられました。

おそらく、もともとは1つのファイルでしたが、それをディレクトリやその行に沿って変更したのでしょうか?ファイルのパーミッションを変更しなかったとSVNは何も私は信じてそれにアクセスを実行していたところ、私はこれだけを見てきました

異なる種類のいくつかの項目に遮らバージョン管理された項目の

svn help status 

「〜」

から

+1

あなたが正しいように見えます。 .svnファイルがないディレクトリです。どのようにそれを修正する上で任意のアイデア?それをSubversionから削除してもう一度追加する必要がありますか? – jergason

+0

これを修正する方法が見つかった場合は、 –

+0

@Phill - 私はリポジトリを破壊してしまいました... * sigh * –

15

これが役に立ちます。

+3

良いRTFM答え:) +1 – nuqqsa

11

これを修正する最も簡単な方法は、このステータスのフォルダまたはファイルを削除してから「svn up」することです。必ずしもファイルによって再配置されたフォルダではなく、単に.svnフォルダ紛失または破損しています。

2

Windowsではシンボリックリンクの問題でもあります。 SVNにシンボリックリンクをコミットしてWindowsでチェックインすると、リンクが通常のファイルに変更され、これも〜として報告されます。

+1

これをどうやって解決しますか? – 5upa

10

これは、フォルダ内の.svnフォルダを削除したとき(たとえば、ディレクトリを削除してから同じディレクトリを再度作成したとき)、またはディレクトリをシンボリックリンクまたはファイル同じ名前で

フォルダは、フォルダと呼ばれるそれは、あなたが親フォルダで次のコマンドを発行することによってこの問題を解決することができますと仮定すると:もう一度変更を追加/削除し、コミット

$ find a-folder -type d -name '.svn' -print0 | xargs -0 rm -Rf 
$ svn up --force . 
svn: Directory 'logs/.svn' containing working copy admin area is missing 
$ svn up --force . 
E a-folder 
... 
Updated to revision n. 

そして、それはSVNの問題です

ここ
33

は私がやったことだ:

フォルダがテスト

  1. MVである場合テストのTest1
  2. SVNテストを削除
  3. MV Test1をテスト
+0

ありがとうございます。あなたのソリューションはうまくいきます。 :-) – Anand

+5

削除と追加の間にコミットしていれば、これは私にとってはうまくいった。 1. mv Test Test1 2. svn removeテスト3. svn commit -m "テストを削除しました" 4. mv Test1テスト5. svn addテスト6. svn commit -m "Added Test" –

+1

@sancelotの回答ははるかに優れています。 'svn delete --keep-local fileName'を使用している場合は、名前を変更する必要はありません。 –

3

はSVNがロック不満た、同様の問題がありました。ここでは、やったことだ:

RM -rと問題のディレクトリを削除したファイル
  • をバックアップし
    • (Linux)の
    • SVNを駆けディレクトリ
    • のsvnクリーンアップ蘭 - ディレクトリにを入れてください
  • 3

    これは、Joomla内に拡張機能をインストールする際に頻繁に発生する問題であることを分かりたいと思います。拡張機能はCMS経由でインストールされ、グループ書き込みのないApacheによって所有されます。一般的には次のステップはファイルをSVNに追加することですが、sudoやファイルのpermを変更しないとSVNは.svnディレクトリに書き込めないときに失敗します。ここには簡単な解決策があります。

    mv foo foo-bak 
    svn up foo 
    svn revert foo 
    
    # just for good measure. Foo should not show up in the two following commands. 
    ls | grep foo 
    svn st | grep foo 
    
    mv foo-bak foo 
    svn add foo 
    
    11
    svn delete --keep-local x 
    svn commit -m "del x" 
    svn add x 
    svn commit -m "blah" 
    
    +0

    名前を変更する必要はありません。あなたは最高の答えを出しました。 –

    +0

    ベスト回答!これにより、問題が解決されます。私の場合は、通常のファイルとしてコミットされたソフトリンクでした。 – 5upa

    0
    ~ versioned item obstructed by some item of a different kind 
        Second column: Modifications of a file's or directory's properties 
    
    2

    (例えば。)の下でのJoomla!、WordpressのかDrupalのモジュールをアップグレードしている間、私は多くの場合、これを持っていました。アップグレードプロセスによって.svnディレクトリが削除されることがあります。

    # rename updated directory 
    mv foo foo.new 
    
    # restore the old directory 
    svn up foo 
    
    # merge/update the old directory with new items 
    # notice that the above command will preserve the obsolete files 
    # so you should do a diff -r in order to remove them 
    cp -r foo.new/* foo 
    
    # Add files commit, etc 
    svn add foo/* 
    svn delete foo/xx 
    svn commit -m "updated module" 
    
    関連する問題