web-dev-qa-db-ja.com

Subversion:1つのクライアントのみでローカルにファイルへの変更を無視します

リポジトリ全体に無視を伝播せずに、1つのクライアントのみでローカルにSubversionのファイルへの変更を無視することは可能ですか?

私が扱っている特定の問題は、プロジェクトをチェックアウトし、すでにリポジトリの一部であるMakefileを含む一連のファイルを変更したことです。今、私が取り組んでいる環境は、他のグループとは異なり、Makefileへの変更を自分のマシンのローカルのままにして、コミットしないようにします。

しかし、私はsvn:ignoreを設定したくないので、リポジトリに無視をコミットすると思いますが、makeファイルをそこに保持することが重要です。

51
fuad

SVNの多くの側面と同様に、亀はそれを本当に簡単にします。実際、亀は実際に既存のsvn機能を体系的に使用して機能を追加していると思います。この答えはウィンドウだけだと思いますが、おそらく私と同じようにWindowsを使用している人もいるでしょう。 「変更の確認」ポップアップでファイルを右クリックし、「変更リストに移動」->「コミットの無視」を選択するだけです。亀を使用してチェックインすると、変更がさまざまな変更リストにセグメント化されるため、少なくともコミットしたいものとコミットしたくないものを視覚的に確認できます。

38
andersonbd1

subversion 1.5.x以降を使用している場合は、チェンジリストを使用できます。

svn cl COMMIT /path/to/project/*

svn cl NOT_COMMIT /path/to/project/Makefile

注:2番目のコマンドMakefileを使用すると、最初のチェンジリストから削除されます。警告は無視してかまいません。

2番目のチェンジリストをコミットしないでください。

次の方法でコミットします:

svn ci --cl COMMIT -m"<LOG MESSAGE HERE>" 

重要: --clオプションなしでコミットすると、すべての変更がコミットされます

11
Peter Parker

私が考えることができる最も近い安全な解決策は、個人のブランチを使用することです。

1
Gleb