Eu verifiquei uma cópia do branch SVN (meu branch) localmente ao qual eu mesclei de um branch diferente (que tem uma estrutura de pastas completamente diferente). Basicamente, há muitas exclusões (de arquivos antigos) e adições (de novos arquivos).
Quando eu tento enviar a fusão para o repositório (para o meu branch), o Tortoise diz
Este commit não é recursivo, e existem pastas movidas / renomeadas selecionadas para commit. Essas movimentações / renomeações são sempre realizadas recursivamente no repositório. Você quer se comprometer assim mesmo?
Tudo bem continuar com este commit? Se não, o que devo fazer para que não haja problemas?
Além disso, para alguns arquivos que adicionei, fiz alterações após adicionar (se isso afetar a natureza).
fonte
Eu tive o mesmo problema, mas resolvi revertendo as alterações nos arquivos que marquei para 'ignorar ao confirmar'
Depois de reverter esses arquivos, o tortoisesvn foi capaz de confirmar todos os outros arquivos da fusão
fonte
Não, seu commit irá ignorar todas as mudanças no WC-tree e refletir apenas as mudanças no nível raiz (mesclagem quebrada).
Você cometeu um erro ao fazer o check-out não recursivo inicialmente. Você pode tentar executar um commit completo e bom usando o
--depth infinity
parâmetro na CLI ou encontrar esta opção na GUI do TortoiseSVN.fonte
No meu caso, foi exatamente isso que fez a mensagem aparecer, até mesmo eu deselecionei esses arquivos para o commit.
Solução feia que só funciona com segurança se apenas alguns arquivos forem afetados:
Lembrete para mim mesmo: só reintegre um galho se o alvo (tronco) estiver limpo.
fonte
Parece que o TortoiseSVN realiza algum tipo de verificação de validade antes de chamar o commit. Bom, mas a mensagem de erro não é muito clara.
Quando enfrentei esse problema, voltei a usar a linha de comando svn para confirmar. A confirmação falhou devido ao motivo de uma das pastas não estar atualizada. Depois de atualizar apenas essa pasta, executei "svn commit" mais uma vez e foi tudo bem.
Edit: PS: Antes de usar, tente fazer isso, certifique-se de não ter nenhum arquivo marcado como "ignorar ao enviar". "Ignorar no commit" é específico para tartarugas e o SVN commit escolhe essas mudanças também.
fonte
Só pensei em postar isso porque funcionou para mim ...
A razão pela qual isso aconteceu é porque eu parcialmente renomeei um dos novos projetos que criei e por alguma razão todos eles apareceram como "Missing" na tela de commit.
Depois de remover o projeto e a pasta (que o SVN havia marcado) e colocá-los de volta como um novo projeto novamente, de repente todos os "ausentes" se transformaram em "adicionados" e o commit funcionou bem sem me avisar de nada .
Espero que isto ajude!
fonte
Eu percebi esse problema e a causa foram alguns arquivos adicionados que não tinham o status adicionado sem motivo aparente. Eles eram 'normais', embora a pasta pai fosse exibida corretamente como 'adicionada'. Eu reverti essas alterações 'normais' e então as refiz manualmente. Isso fez com que cada item adicionado aparecesse duas vezes na lista de confirmação, mas resolveu o erro e tudo parece estar funcionando bem agora.
Não tinha nada a ver com ignore-on-commit como em outra resposta, apenas parecia um bug no TortoiseSVN.
fonte
O problema pode ser que seu mergeinfo seja excluído por alguém ou automaticamente, porque as informações subiram na árvore. Se você for mesclá-los novamente, funcionará no momento. Mas todos os outros terão problemas com suas ramificações não mescladas. O SVN perderá algum código e mesclará o código já enviado novamente.
Portanto, reverter esses arquivos e alterá-los novamente pode funcionar, mas você não deve apenas confirmar as alterações.
fonte
Eu simplesmente tive o mesmo problema. Em vez de selecionar todos os arquivos, cliquei em versionado e tudo funcionou bem. No meu caso, a opção versionado selecionou todos os arquivos, então está tudo ok agora.
fonte
Eu não conheço uma opção para tortoisesvn, mas você poderia usar a linha de comando
isso deve funcionar exatamente como você gostaria que funcionasse bem
fonte