コマンドラインからリポジトリ内のディレクトリを削除したい。同時に、Subversion にこの変更をローカルの作業コピーに反映させたくありません。
作業コピーのディレクトリはそのままにしておく必要があります (残念ながら、svn:ignore プロパティを設定したいのです)。とにかく、削除が作業コピーに反映されない限り、これを達成する方法を見つけることができませんでした。
コマンドラインからリポジトリ内のディレクトリを削除したい。同時に、Subversion にこの変更をローカルの作業コピーに反映させたくありません。
作業コピーのディレクトリはそのままにしておく必要があります (残念ながら、svn:ignore プロパティを設定したいのです)。とにかく、削除が作業コピーに反映されない限り、これを達成する方法を見つけることができませんでした。
Thorarinが言ったように、削除コマンドは svn:ignore プロパティに関係なく伝播されるため、それは不可能のようです。
削除する代わりに、より安全な移行は、問題のあるディレクトリの名前を変更することです (dir.old のような名前に変更し、元のディレクトリ名に svn:ignore を追加します。その後、ディレクトリを手動で元の名前にコピーするよう人々に指示できます。完全に削除する前に。
このディレクトリ内のファイルの種類によっては、開発者が変更を同期する場所として、このディレクトリを永続的に保持することもできます。この場合、直接使用されないように、dir.tmpl のような名前を付けることで、それがテンプレート ディレクトリであることを明確にすることができます。
私の知る限り、これは不可能です。svn:ignore
ファイルが実際にバージョン管理されると、何もしません。
保持したいローカルの変更がある可能性があるため、このようなことを行うのはやや危険です。彼らが注意を払っていない場合、彼らはそれらを失う可能性があります.
ここに別の質問に対する盗まれた答えがあります(MaciejŁebkowskiに感謝します!):
私の経験から:そのファイルをバージョン管理下に置かず、svn:ignoreを使用してください。
すでにバージョン管理されているファイルを無視することはできず、ハードドライブ(および次の更新時にすべての作業コピーから)を削除せずにバージョン管理からファイルを削除することはできないため、最初は少し難しいです。しかし、最終的にレポを正しく設定できれば、それは魅力のように機能します。元の構成ファイルの代わりにgeneric-templateを追加することを忘れないでください(新しい構成変数などについて誰もが知っているようにするため)。
新しいリポジトリの場合:
mkdir config
svn add config
svn propset svn:ignore'* .conf' config
既存のリポジトリの場合:必ず、すべての作業コピーに構成のバックアップを作成してから、リポジトリから(svn del)構成を削除し、コミットします(注意:次の更新時にすべての作業コピーでファイルが削除されます!バックアップを作成するため)、ファイルを復元し、ignoreプロパティを設定します。
別の方法はロックです。誰もファイルをコミットしないことを保証しますが、コミットするたびにエラーが発生します。とても素敵ではありません。
そして3番目の方法-チェンジセット、SVN1.5クライアントの新機能。これはきちんとしていますが、グローバルなリポジトリではなく、1つの作業コピーにのみ関連しています。そして、それらを手動で設定し、すべての新しいファイルを追加する必要があります—保守するのは困難です。