2016年2月時点で、Subversionには「コミットしない」/「コミット時に無視する」機能が組み込まれていません/バージョン1.9。この回答は非理想的なコマンドラインの回避策です
OPが述べるように、TortoiseSVNには組み込みのチェンジリスト「ignore-on-commit」があり、これは自動的にコミットから除外されます。コマンドラインクライアントにはこれがないため、これと同じ動作を実行するには複数のチェンジリストを使用する必要があります(警告付き):
- コミットしたい仕事用[仕事]
- 1つは無視したいもの[ignore-on-commit]
TortoiseSVNには前例があるので、私がコミットしたくないファイルの例では「ignore-on-commit」を使用しています。私が行うファイルには「work」を使用しますが、好きな名前を付けることができます。
まず、すべてのファイルを「work」という名前のチェンジリストに追加します。これは作業コピーのルートから実行する必要があります。
svn cl work . -R
これにより、作業コピー内のすべてのファイルが「work」という名前のチェンジリストに再帰的に追加されます。これには欠点があります-新しいファイルが作業コピーに追加されるため、新しいファイルを明確に追加する必要があります。そうしないと、それらは含まれません。次に、これを再度実行する必要がある場合は、「ignore-on-commit」ファイルのすべてを再度追加する必要があります。理想的ではありません-他のユーザーが行っているように、ファイル内の独自の「無視」リストを維持し始めることができます。
次に、除外するファイルについて:
svn cl ignore-on-commit path\to\file-to-ignore
ファイルは1つのチェンジリストにのみ存在できるため、以前の「work」追加の後にこの追加を実行すると、無視するファイルが「work」チェンジリストから削除され、「ignore-on-commit」チェンジリストに配置されます。
コミットしたい修正済みファイルをコミットする準備ができたら、コミットに「--cl work」を追加するだけです。
svn commit --cl work -m "message"
これが私のマシンでの簡単な例です。
D:\workspace\trunk>svn cl work . -R
Skipped '.'
Skipped 'src'
Skipped 'src\conf'
A [work] src\conf\db.properties
Skipped 'src\java'
Skipped 'src\java\com'
Skipped 'src\java\com\corp'
Skipped 'src\java\com\corp\sample'
A [work] src\java\com\corp\sample\Main.java
Skipped 'src\java\com\corp\sample\controller'
A [work] src\java\com\corp\sample\controller\Controller.java
Skipped 'src\java\com\corp\sample\model'
A [work] src\java\com\corp\sample\model\Model.java
Skipped 'src\java\com\corp\sample\view'
A [work] src\java\com\corp\sample\view\View.java
Skipped 'src\resource'
A [work] src\resource\icon.ico
Skipped 'src\test'
D:\workspace\trunk>svn cl ignore-on-commit src\conf\db.properties
D [work] src\conf\db.properties
A [ignore-on-commit] src\conf\db.properties
D:\workspace\trunk>svn status
--- Changelist 'work':
src\java\com\corp\sample\Main.java
src\java\com\corp\sample\controller\Controller.java
src\java\com\corp\sample\model\Model.java
M src\java\com\corp\sample\view\View.java
src\resource\icon.ico
--- Changelist 'ignore-on-commit':
M src\conf\db.properties
D:\workspace\trunk>svn commit --cl work -m "fixed refresh issue"
Sending src\java\com\corp\sample\view\View.java
Transmitting file data .done
Committing transaction...
Committed revision 9.
代わりに、コミットしたいすべてのファイルを「作業」チェンジリストに追加するだけで、無視リストを維持することさえありませんが、これも多くの作業です。本当に、唯一のシンプルで理想的なソリューションは、これがSVN自体に実装されているかどうかです。Subversionの課題追跡であるSVN-2858には、これが将来変更される場合に備えて、長年の問題があります。