Criei um branch de um projeto SVN chamado 'features', e agora sempre que tento atualizar o referido projeto, ele traz consigo uma pasta de recursos, que contém outra cópia do projeto do branch. Existe uma maneira de remover o branch do repositório completamente para que isso não aconteça mais?
89
Respostas:
Claro:
svn rm
a pasta indesejada e confirme.Para evitar essa situação no futuro, eu seguiria o layout recomendado para projetos SVN:
/someproject/trunk
pasta (ou apenas/trunk
se quiser colocar apenas um projeto no repositório)/someproject/branches/somebranch
/someproject/tags
Agora, quando você fizer o check-out de uma cópia de trabalho, certifique-se de fazer o check-out apenas
trunk
ou algum branch individual. Não verifique tudo em uma cópia de trabalho enorme contendo todos os ramos. 11 A menos que você saiba o que está fazendo, nesse caso você sabe como criar cópias de trabalho superficiais.
fonte
Assumindo que este branch não é externo ou um link simbólico, a remoção do branch deve ser tão simples como:
Se você gostaria de fazer isso no repositório, atualize para removê-lo de sua cópia de trabalho, você pode fazer algo como:
Então corra:
fonte
svn rm -m message http://...
e não éupdate
necessárioPara aqueles que usam TortoiseSVN , você pode fazer isso usando o Navegador de repositório (é rotulado como "Navegador de repositório" no menu de contexto.)
Encontre a pasta da filial que deseja excluir, clique com o botão direito e selecione “Excluir”.
Digite sua mensagem de confirmação e pronto.
fonte
Você também pode excluir a ramificação no controle remoto diretamente. Feito isso, a próxima atualização irá removê-lo de sua cópia de trabalho.
O
^
é uma abreviação para a URL do controle remoto, conforme visto em 'svn info'. As aspas duplas são necessárias na linha de comando do Windows, porque^
é um caractere especial.Este comando também funcionará se você nunca fez check-out do branch.
fonte
Você pode deletar a pasta de recursos como qualquer outra em seu checkout e então confirmar a mudança.
Para evitar isso no futuro, sugiro que você siga as convenções de nomenclatura para layout SVN.
Dê a cada projeto uma pasta de tronco, ramos e tags quando eles forem criados.
fonte
Da cópia de trabalho:
svn rm branches/features
svn commit -m "delete stale feature branch"
fonte
O comando para excluir um branch é o seguinte:
svn delete -m "<sua mensagem>" <branch url>
Se você deseja não buscar / verificar todo o repositório, execute o seguinte comando em seu terminal:
1) obtenha o caminho absoluto do diretório que conterá sua cópia de trabalho
> pwd
2) Inicie svn code checkout
> svn checkout <branch url> <caminho absoluto do ponto 1>
As etapas acima fornecerão os arquivos dentro da pasta branch e não a pasta inteira.
fonte