1

コマンドラインからリポジトリ内のディレクトリを削除したい。同時に、Subversion にこの変更をローカルの作業コピーに反映させたくありません。

作業コピーのディレクトリはそのままにしておく必要があります (残念ながら、svn:ignore プロパティを設定したいのです)。とにかく、削除が作業コピーに反映されない限り、これを達成する方法を見つけることができませんでした。

4

3 に答える 3

1

Thorarinが言ったように、削除コマンドは svn:ignore プロパティに関係なく伝播されるため、それは不可能のようです。

削除する代わりに、より安全な移行は、問題のあるディレクトリの名前を変更することです (dir.old のような名前に変更し、元のディレクトリ名に svn:ignore を追加します。その後、ディレクトリを手動で元の名前にコピーするよう人々に指示できます。完全に削除する前に。

このディレクトリ内のファイルの種類によっては、開発者が変更を同期する場所として、このディレクトリを永続的に保持することもできます。この場合、直接使用されないように、dir.tmpl のような名前を付けることで、それがテンプレート ディレクトリであることを明確にすることができます。

于 2009-08-09T09:21:09.617 に答える
1

私の知る限り、これは不可能です。svn:ignoreファイルが実際にバージョン管理されると、何もしません。

保持したいローカルの変更がある可能性があるため、このようなことを行うのはやや危険です。彼らが注意を払っていない場合、彼らはそれらを失う可能性があります.

于 2009-08-09T08:34:33.187 に答える
0

ここに別の質問に対する盗まれた答えがあります(MaciejŁebkowskiに感謝します!):

私の経験から:そのファイルをバージョン管理下に置かず、svn:ignoreを使用してください。

すでにバージョン管理されているファイルを無視することはできず、ハードドライブ(および次の更新時にすべての作業コピーから)を削除せずにバージョン管理からファイルを削除することはできないため、最初は少し難しいです。しかし、最終的にレポを正しく設定できれば、それは魅力のように機能します。元の構成ファイルの代わりにgeneric-templateを追加することを忘れないでください(新しい構成変数などについて誰もが知っているようにするため)。

新しいリポジトリの場合:

mkdir config
svn add config
svn propset svn:ignore'* .conf' config

既存のリポジトリの場合:必ず、すべての作業コピーに構成のバックアップを作成してから、リポジトリから(svn del)構成を削除し、コミットします(注意:次の更新時にすべての作業コピーでファイルが削除されます!バックアップを作成するため)、ファイルを復元し、ignoreプロパティを設定します。

別の方法はロックです。誰もファイルをコミットしないことを保証しますが、コミットするたびにエラーが発生します。とても素敵ではありません。

そして3番目の方法-チェンジセット、SVN1.5クライアントの新機能。これはきちんとしていますが、グローバルなリポジトリではなく、1つの作業コピーにのみ関連しています。そして、それらを手動で設定し、すべての新しいファイルを追加する必要があります—保守するのは困難です。

于 2009-08-09T09:31:53.057 に答える