パスの各サブフォルダでコマンドを実行する最も簡単な方法は何ですか?この場合、私はリポジトリのすべてのディレクトリに対してsvn cleanupを実行する必要があります。各サブフォルダのrunコマンド
答えて
このような場合、作業コピーを削除して再チェックアウトするほうがずっと簡単です。ローカルで変更があった場合は、まず変更されたファイルを別の場所にコピーします。
しかし、Can's answerは、SVNに大きな問題がない限り、あなたのケースで動作する可能性があります。まだ問題が残っているルートフォルダから開始するので、おそらく数回実行する必要があります。その場合、for /r
では実行できないが、階層内の最下位のディレクトリからクリーンアップを開始することができるような、何らかの種類のポストオーダートラバーサルが必要です。
あなたはまた、SVNのstatekeepingのディレクトリは.svnを除外する必要があるだろう:帰りがけ順については
for /r /d %i in (*) do if NOT %i==.svn svn cleanup %i
、あなたは少しバッチビルドすることができます。以下のツリーで
@echo off
call :recurse "."
goto :eof
:recurse
pushd %1
if not %~1==.svn (
for /d %%i in (*) do call :recurse "%%i"
echo svn cleanup %~1
)
popd
goto :eof
を:
a ├───.svn ├───a1 │ └───.svn └───a2 └───.svn b ├───.svn ├───b1 │ ├───.svn │ ├───b11 │ │ └───.svn │ └───b12 │ └───.svn └───b2
これは、次のような出力が得られます。
svn cleanup "a1" svn cleanup "a2" svn cleanup "a" svn cleanup "b11" svn cleanup "b12" svn cleanup "b1" svn cleanup "b2" svn cleanup "b" svn cleanup "."
これは、わかりますように、最も低いディレクトリが最初に処理され、.svnディレクトリがスキップされることを確認します。使用する場合はecho
を削除してください。これにより、問題が解決される可能性があります。多分。
svn cleanup
は自動的にサブディレクトリに再帰します。なぜ私はその特定のコマンドのために手動で再帰する必要があるのか分かりません。
for
コマンドは、あなたが探しているものです。正確な構文タイプを読むためにfor /?
たとえば、現在のディレクトリにあるすべてのサブディレクトリの名前を表示するには、次のように入力します。
for /d /r %i in (*.*) do @echo %i
echo%i部分は、あなたのケースに合わせて変更する必要がある部分です。
これは、ディレクトリツリーの先行走査を行うという不運な副作用があります。トップレベルのクリーンアップは、低レベルのクリーンアップが失敗する前に失敗します。つまり、問題を解決する前に、そのラインを数回チューニングする必要があります。 – Joey
- 1. Runコマンド
- 2. メイクファイル:make runコマンド
- 3. のJavaのant runコマンドは -
- 4. Dockerfile RUNコマンドの結果
- 5. 複数行のドッキングウィンドウrunコマンド
- 6. git repoのDocker runコマンド?
- 7. は、PowerShellのC#runコマンド
- 8. ファブリックrunコマンドは同時に
- 9. ng buildの後のangle-cli runコマンド
- 10. ExcelでのRUNコマンドの使用
- 11. ドッキングウィンドウrunコマンドでのulimit値を変更
- 12. テストランナーの最後にDjango/unittest runコマンド
- 13. スクリプト終了時のNodeJS runコマンド
- 14. Django:サブフォルダへの管理コマンドの分割
- 15. は、ドッキングウィンドウrunコマンドで設定ファイル
- 16. React-native run-iosコマンドは失敗する
- 17. docker runコマンドでcronタスクをインストール
- 18. Python、run terminal、およびexecuteコマンドを
- 19. RUNコマンドでボリュームにアクセスできない
- 20. Heroku Cedarスタックとコマンドheroku run console
- 21. Heroku runコマンドはコマンド/作業ではありません
- 22. 構文エラー:dockerfileのRUN文で複数行のbashコマンド
- 23. docker runコマンドの後にAzureのデプロイメントが終了する
- 24. サブフォルダのサブフォルダにリダイレクト
- 25. バッチ - サブフォルダ内の各CSVファイルを変更する
- 26. オムニボックス内の "Run <extension>コマンド"とは何ですか?
- 27. ドッカー作曲:私はこのチュートリアルに従うコマンドドッキングウィンドウ・コンrunコマンド
- 28. dotnet runコマンドでユーザーの秘密が見つかりません
- 29. GNU並列で多くの引数を取るrunコマンド
- 30. 'npm run'コマンドとWindowsコンソールの動作が異なります
: >のsvnクリーンアップ のsvn:ディレクトリ 'において、メインの\ create_course' のsvn:エラー処理コマンド 'コミット' の 'メイン\ create_course' のsvn:実行:ワーキングコピー 'メインは' SVNをロック'svn cleanup'を実行するとロックが解除されます(詳細については、 'svn help cleanup'と入力してください) 問題のあるフォルダに移動してsvnクリーンアップを実行すると、メインのsvnクリーンアップを実行するときにさらに進みます。 :S – svandragt
興味深いですが、クリーンアップのバグのようです。それがWindowsの実装に固有のものかどうかは疑問です。 –
グレッグ:私は何度も同じような問題を抱えていました。ときにはsvnが作業コピーの半分を破棄しているようで、最も簡単な修正は再チェックアウトだけです。私が最近遭遇したケースのほとんどはSVNKitの欠陥でしたが、 64ビットのSubclipseでは、それほど多くの選択肢はありません:/ – Joey