Subversionにチェックインしようとすると、「障害」とはどういう意味ですか?「閉塞」のテキストステータスの2つのフォルダが赤く表示されます。これがドキュメントのどこにあるのかわかりません。
cleanup
コマンドを実行すると、「フォルダ名は作業ディレクトリではありません」と表示されます。これはVSで作成したばかりのフォルダーです。Subversionに追加しようとすると、エラーが発生します。他のすべてのフォルダは問題ありません。
Subversionにチェックインしようとすると、「障害」とはどういう意味ですか?「閉塞」のテキストステータスの2つのフォルダが赤く表示されます。これがドキュメントのどこにあるのかわかりません。
cleanup
コマンドを実行すると、「フォルダ名は作業ディレクトリではありません」と表示されます。これはVSで作成したばかりのフォルダーです。Subversionに追加しようとすると、エラーが発生します。他のすべてのフォルダは問題ありません。
回答:
.svnサブディレクトリを(SVNコマンドを経由せずに)削除または移動したときに発生するため、SVNは作業コピーのビューを破損しています。
最初にクリーンアップを試行し、それで解決しない場合は、ディレクトリを元に戻して(または更新して)、サブディレクトリ.svnフォルダーを復元します。
何が原因かわからない場合、解決策は作業コピー(ローカルにあるチェックアウト全体)を別の場所にエクスポートすることです。
tortoisesvnを使用している場合は、「バージョン管理されていないファイルをエクスポートする」オプションが表示されますが、コマンドラインからエクスポートすると、バージョン管理されたファイルのみがエクスポートされるため、バージョン管理されていないファイルを手動でコピーするのに少し面倒な作業が必要になると思います。
完了したら、クリーンな作業用コピーをチェックアウトし、エクスポートしたバックアップをその上にドロップします。バックアップに.svnフォルダーがないことは非常に重要です。
他の作業コピー内の作業コピーまたは.svnエントリを破損する何かをチェックアウトしたとき、私はこれらのエラーを見てきました。
* nixシステムを使用している場合は、ファイルを作成していないことを確認し、SVNに追加してから削除し、同じ名前のフォルダーに置き換えます。OPの助けにはなりませんが、うまくいけば誰かのストレスを大幅に軽減できます。
この状況を引き起こす可能性のあるシナリオにはさまざまなバリエーションがあります。以下はその一例です。
で終わった!「svn rename」コマンドを使用せずに、wwwからwww_aに名前が変更されたディレクトリにマークを付けます。
この時点で正しいsvn作業ディレクトリを取得する必要があります。そして、svnディレクトリの混乱を解決する方法について、1つまたは2つ学びます。
Windowsでも、リポジトリディレクトリへのシンボリックリンクを作成したときに、これを確認しました。この場合、リポジトリルートは「障害物」と見なされます。ただし、これによる影響はないようです。
再現する手順:
レポをチェックアウトする
svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
ディレクトリに問題がないことを確認してください
cd plugin_dir
svn st -u
出力は
Status against revision: 1234
シンボリックリンクを作成します(これは問題を示しています)。
cd ..
mklink /d link_dir plugin_dir
cd link_dir
svn st -u
出力は
~ 1234 .
Status against revision: 1234
FTPクライアントを使用してサブディレクトリのあるフォルダーを作業コピーに貼り付けると、この問題に遭遇しました-転送ボタンを押すとすぐに失敗しました...作業方法の危険が遅すぎました。
上記のすべての提案とオンラインで見つかったその他の提案をすべて試しましたが、役に立ちませんでした。すべてのオプションで、ディレクトリがロックされ、操作を実行できないというエラーが発生しました。
私は自分のTime Machineコピーに移動し、ディレクトリを復元しました。予防策として作業コピーをクリーニングし、ファイルを適切に更新して、業務を再開しました。
Webインターフェイスを介してCMS(WordPressまたはDrupal)を更新すると、ディレクトリでこの「障害」ステータスが表示されます。アプリケーションは、コードが実際にSubversionの作業コピーであることを認識していないため、プラグインを更新すると、そのプラグインが削除されますディレクトリ(ディレクトリを含む.svn
)と新しいバージョンのプラグインから新しいディレクトリにドロップします。
その.svn
dirを取り戻すには、妨害されたdirを含むディレクトリから。でチェックアウトを行い--force
ます。たとえば、plugin_dir
「〜」とマークされている場合、その親ディレクトリから次のコマンドを実行します。
svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
すでにそこにあるファイルはそのまま残され、チェックアウトコマンドの出力で「E」とマークされます(を実行すると「M」とマークされますsvn status
)。
私はときどき戻って、アップデートで新しくなったファイルを追加しなければなりません。または、私がチェックアウトをしたときにそれらが再び現れたので、アップデートの一部として削除されるべきファイルを削除します。これらはチェックアウトで「A」とマークされていると思いますが、その後svn status
はそれらについて言及しません。
私はEclipseでこれに遭遇しました。そこでは、いくつかのファイルが赤い感嘆符でマークされていました。問題は、ソースディレクトリの迷惑な.svnフォルダーでした。.svnフォルダーを削除し、Eclipseを更新して、ファイルをチェックインできました。
妨害されたディレクトリの.svnを削除し、外部から更新しました。次に、外部のsvnコマンドがこれらのファイルを認識します。