mark@mark-ubuntu:~/myproject$ svn stat
? runserver.sh
? media/images/icons
? apps/autocomplete
mark@mark-ubuntu:~/myproject$ svn add apps/autocomplete
svn: warning: 'apps/autocomplete' is already under version control
svn stat
diz que não está sob controle de versão, então tento adicioná-lo e ele me diz que está. Quando eu faço um svn ci
, ele não fica comprometido e não aparece quando tento navegar para o repositório online.
Como faço para fazer o commit?
svn add --force /path/to/file
ou se você quiser adicionar o diretório de forma recursiva:svn add --depth infinity --force /path/to/directory
.Respostas:
Copie a pasta problemática em algum diretório de backup e remova-a do diretório de trabalho SVN. Lembre-se de excluir todos
.svn
os diretórios ocultos da pasta copiada.Agora atualize seu projeto, limpe e comprometa o que sobrou. Agora mova sua pasta de volta para o diretório de trabalho, adicione-a e envie. Na maioria das vezes, essa solução alternativa funciona, parece que basicamente o SVN se confundiu ...
Atualização: citando comentário de @Mark :
fonte
.svn
pasta e então adicionar svn funcionou.Tive um problema parecido depois de adicionar uma árvore de diretórios que continha diretórios .svn (porque era um svn: externo em seu ambiente de origem): svn status me disse "?", Mas ao tentar adicioná-lo, ele "já estava" sob controle de versão ".
Como nenhum outro diretório versionado estava presente, eu fiz
para remover os diretórios .svn errados; depois de fazer isso, fui capaz de adicionar o novo diretório.
Nota :
fonte
... -exec echo {} \;
que você possa fazer seu switch -exec funcionar bem também.-type d
ao encontrar. Me chame de exigente até que vocêrm -rf
vá longe demais. Além dos meus defeitos - acho que esta é a resposta correta.Uma variação da resposta de @ gauss256 , deletar
.svn
, funcionou para mim:Antes da solução de Gauss eu tentei a abordagem de @ jwir3 e não tive alegria:
fonte
(1) Isso acabou de acontecer comigo, e achei interessante como aconteceu. Basicamente, copiei a pasta para um novo local e a modifiquei, esquecendo que ela traria todos os diretórios .svn ocultos. Depois de perceber como isso acontece, é mais fácil evitar no futuro.
(2) Remover os diretórios .svn é a solução, mas você tem que fazer isso recursivamente em toda a árvore de diretórios. A maneira mais fácil de fazer isso é:
fonte
Você já tentou realizar uma limpeza svn?
fonte
svn cleanup
e não adiantou.Verifique se há um diretório 'apps / autocomplete / .svn'. Mova-o para um lugar seguro (no caso de você precisar restaurá-lo porque isso não funcionou) e veja se isso resolve o problema.
fonte
Encontrei uma solução caso você tenha instalado o Eclipse (Luna) com o SVN Client JavaHL (JNI) 1.8.13 e Tortoise :
Abra o Eclipse: primeiro tente adicionar o módulo project / maven ao controle de versão (Projeto -> Menu de contexto -> Equipe -> Adicionar ao controle de versão)
Você verá a seguinte mensagem de erro do Eclipse:
org.apache.subversion.javahl.ClientException: A entrada já existe svn: 'PathToYouProject' já está sob controle de versão
Depois disso, você tem que abrir o diretório do seu espaço de trabalho no seu explorador, selecionar seu projeto e resolvê-lo via Tortoise (Projeto -> Menu de Contexto -> TortoiseSVN -> Resolver)
Você verá a seguinte caixa de diálogo de mensagem: "A lista de arquivos está vazia "
Pressione cancelar e atualizar o projeto no Eclipse. Seu projeto deve estar sob controle de versão novamente.
Infelizmente não é possível resolver mais um projeto ao mesmo tempo ... você não precisa deletar nada, mas dependendo do tamanho do seu projeto pode ser um pouco trabalhoso.
fonte
Para mim, fazer uma atualização de svn, seguida de svn commit funcionou. Não havia pastas .svn presentes na pasta que falhou ao adicionar.
fonte