Eu tenho uma pasta, c:\websites\test
e ela contém pastas e arquivos que foram retirados de um repositório que não existe mais. Como faço para o Subversion parar de rastrear essa pasta e qualquer uma das subpastas e arquivos?
Eu sei que poderia simplesmente excluir a .svn
pasta, mas há muitas subpastas em várias camadas.
Respostas:
Além disso, se você estiver usando o TortoiseSVN, exporte para o local atual da cópia de trabalho e ele removerá as pastas e os arquivos .svn.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Resposta atualizada para o Subversion 1.7:
No Subversion 1.7, a cópia de trabalho foi revisada extensivamente. Há apenas uma pasta .svn, localizada na base da cópia de trabalho. Se você estiver usando o 1.7, apenas excluir a pasta .svn e seu conteúdo é uma solução fácil (independentemente do uso do TortoiseSVN ou das ferramentas de linha de comando).
fonte
No Linux, isso funcionará:
fonte
Tente svn export .
Você deve conseguir fazer algo assim:
E então basta excluir a cópia de trabalho antiga.
O TortoiseSVN também possui um recurso de exportação , que se comporta da mesma maneira.
fonte
svn: E000002: Can't stat '/.classpath': No such file or directory
Se você estiver executando o Windows, poderá fazer uma pesquisa nessa pasta
.svn
e listar todas elas. Pressionar Ctrl+ Aselecionará todos eles e pressionar excluir removerá todo o material 'Subestivo' irritante.fonte
No Linux, o comando é:
fonte
Descobri que você nem precisa copiar para um local temporário. Você pode fazer um
e os arquivos .svn serão removidos in situ , deixando os outros arquivos como estão. Muito conveniente e menos propenso a desordem.
fonte
Sem subshells no Linux para excluir
.svn
pastas:fonte
Nenhuma dessas respostas foi satisfatória para a minha situação. Estou no subversion 1.8 e tinha uma cópia de trabalho que só tinha uma única
.svn
pasta na primeira pasta, raiz. No entanto, eu queria remover algumas ramificações da cópia de trabalho.Não importa o que eu fiz, sempre que eu executava uma 'atualização' ele restaurava esses arquivos e os trazia de volta. Eu não queria removê-los do repositório, apenas do meu computador - mas precisava manter o restante da cópia de trabalho intacta (portanto, não era possível remover apenas a pasta .svn).
Solução?
svn update --set-depth exclude <dir>
Esta é uma "atualização" do lado do cliente que exclui um diretório específico. Pode ser encontrado nos manuais em svnbook.com . Em resumo, descreve isso como:
Para o TortoiseSVN, você também pode fazer o mesmo clicando com o botão direito do mouse na pasta que não deseja, clique em
Update to revision...
e defina 'Update Depth'Exclude
como, como visto nesta captura de tela:fonte
Isso funcionou bem para mim:
fonte
mkdir -p ';echo Hi Johnny;/.svn'
- nesse caso, a invocação {} de achado ainda deve funcionar emboraUse o
svn export
comando:Todos os arquivos sob controle de versão serão exportados. Verifique novamente para garantir que você não perdeu nada.
fonte
Basta remover a pasta .svn dentro da pasta necessária e o controle será removido automaticamente.
fonte
No Windows, você pode adicionar um link rápido ao menu do botão direito do mouse do explorer. Basta iniciar este script de registro:
Isso adicionará um item chamado "Excluir pastas SVN" ao menu do botão direito. Isso excluirá todas as pastas .svn nesta pasta e todas as subpastas.
Fonte (alemão): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
fonte
Você pode usar "svn export" para criar uma cópia dessa pasta sem os dados svn, ou pode adicionar essa pasta para ignorar a lista
fonte
Para aqueles que usam o NetBeans com SVN, existe a opção 'Subversion> Exportar'.
fonte
Há também uma pequena ferramenta de código aberto chamada SVN Cleaner, que adiciona três opções ao menu de contexto do Windows Explorer:
fonte
No Windows 7, basta abrir a pasta do projeto e pesquisar ".svn" se os arquivos ocultos estiverem ativados e excluir todas as pastas .svn encontradas.
fonte
.svn
diretórios não existem mais espalhados. Para mais detalhes, consulte subversion.apache.org/docs/release-notes/1.7.html#wc-ngVerifique isso, http://www.hacktrix.com/how-to-delete-svn-folders-from-your-project-on-windows-linux-and-mac
fonte
A resposta é surpreendentemente simples - exporte a pasta para si mesma ! O TortoiseSVN detecta esse caso especial e pergunta se você deseja tornar a cópia de trabalho sem versão. Se você responder sim, os diretórios de controle serão removidos e você terá uma árvore de diretórios simples e não versionada.
fonte
Outra solução Linux (mais simples):
fonte
Se você acha que pode ganhar com um simples comando mágico, está com falha! O SVN é realmente complicado e sempre volta de alguma forma com uma nova mensagem de erro no Xcode. Mais cedo ou mais tarde, prometa ... então você deve fazê-lo de maneira inteligente!
Como você sabe, a prática recomendada e regular no Xcode é excluir um arquivo no painel do projeto à esquerda. Se você o perdeu e de alguma forma o excluiu no Finder, está com problemas. Grande problema! Mas você pode resolvê-lo e poupar tempo se fizer bem.
Primeiro, você precisa excluir a referência SVN do arquivo ou pasta antes de poder excluí-la realmente
Se você pudesse simplesmente colocar o arquivo / pasta de volta no lixo ou desfazer a última etapa ao excluí-lo, então ...
Vá para o Terminal - sim, o bom e velho terminal - e vá para esse local. Da melhor maneira, basta digitar cd e puxar a pasta / arquivo para o Terminal. Você receberá algo semelhante
Você pode verificar onde está
comando que lista seus arquivos.
Então você precisa excluir a referência svn com um comando SVN:
svn delete --keep-local fileName_toDelete
Isso excluirá o arquivo do repositório SVN, mas você deverá excluí-lo manualmente no Finder.
fonte
Eu uso o rsync:
fonte
Os usuários do NetBeans IDE podem fazer o seguinte:
Selecione o projeto
Na caixa de diálogo
Agora você pode mudar para o Git :)
fonte
Minha idéia é remover a pasta .svn e mover todos os outros arquivos para uma nova pasta. É tão simples quanto isso.
fonte
Quando você estiver usando o sistema operacional Windows, vá para o local da pasta e verifique se os arquivos ocultos estão abertos e, em seguida, você pode ver a pasta SVN lá. Apenas remova essa pasta.
fonte
svn export
funciona bem, mas acho que é isso:Ele o remove do seu repositório local.
fonte
Como ponto vital, quando você usa o shell para excluir pastas .svn, você precisa do argumento -pth para impedir que o comando find entre no diretório que acabou de ser excluído e mostre mensagens de erro como, por exemplo,
Como resultado, você pode usar o
find
comando abaixo:fonte
Em uma linha de comando do Windows:
fonte
Use o seguinte:
svn rm --keep-local <folder name>
para remover a pasta e tudo dentro dela.svn rm --keep-local <folder name>/*
para manter a pasta, mas remova tudo dentro da pasta.Aqui está um exemplo do que acontece:
fonte
No Windows 10, precisamos acessar e
Windows Explorer
, em seguida,View
selecionar e marcar a caixa de seleçãoView hidden files
.Em seguida, navegue até a pasta que possui o SVN vinculado no Windows Explorer e exclua a
.svn
pasta / arquivo.fonte
.svn
pasta base , mas está perguntando sobre todas as subpastas. Por favor, leia a pergunta completamente.