O Subversion não possui um recurso interno "não confirmar" / "ignorar ao confirmar", a partir de fevereiro de 2016 / versão 1.9. Esta resposta é uma solução alternativa da linha de comando não ideal
Como o OP afirma, o TortoiseSVN possui uma lista de alterações incorporada, "ignorar na confirmação", que é automaticamente excluída das confirmações. O cliente da linha de comando não possui isso; portanto, você precisa usar várias listas de alterações para realizar esse mesmo comportamento (com ressalvas) :
- um para o trabalho que você deseja confirmar [trabalho]
- um para coisas que você deseja ignorar [ignorar ao confirmar]
Como existe um precedente no TortoiseSVN, uso "ignorar na confirmação" nos meus exemplos para os arquivos que não quero confirmar. Usarei "trabalho" para os arquivos que faço, mas você pode escolher qualquer nome que desejar.
Primeiro, adicione todos os arquivos a uma lista de alterações denominada "trabalho". Isso deve ser executado a partir da raiz da sua cópia de trabalho:
svn cl work . -R
Isso adicionará todos os arquivos da cópia de trabalho recursivamente à lista de alterações denominada "trabalho". Há uma desvantagem nisso - à medida que novos arquivos são adicionados à cópia de trabalho, você precisará adicionar especificamente os novos arquivos ou eles não serão incluídos. Segundo, se você precisar executar isso novamente, precisará adicionar novamente todos os seus arquivos "ignorar ao confirmar" novamente. Não é o ideal - você pode começar a manter sua própria lista de 'ignorados' em um arquivo, como outros fizeram.
Em seguida, para os arquivos que você deseja excluir:
svn cl ignore-on-commit path\to\file-to-ignore
Como os arquivos podem estar apenas em uma lista de alterações, a execução dessa adição após a adição "trabalho" anterior removerá o arquivo que você deseja ignorar da lista de alterações "trabalho" e o colocará na lista de alterações "ignorar ao confirmar".
Quando você estiver pronto para confirmar seus arquivos modificados que deseja confirmar, basta adicionar "--cl work" ao seu commit:
svn commit --cl work -m "message"
Aqui está como é um exemplo simples na minha máquina:
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.
Uma alternativa seria simplesmente adicionar todos os arquivos que você deseja confirmar a uma lista de alterações 'trabalho' e nem mesmo manter uma lista de ignorados, mas isso também é muito trabalhoso. Realmente, a única solução ideal e simples é se / quando isso for implementado no próprio SVN. Há um problema antigo sobre isso no rastreador de problemas do Subversion, SVN-2858 , caso isso mude no futuro.