Eu não quero nenhum diretório chamado build
ou dist
entre no meu SVN, não importa o quão profundo ele esteja na árvore.
Isso é possível? No git acabei de colocar
build
dist
no meu .gitignore
na raiz e ele ignora recursivamente. Como faço isso com svn? Por favor, não me diga para fazer um propset em todos os dir ...
svn
version-control
ignore
Paul Tarjan
fonte
fonte
Respostas:
A partir do subversion 1.8, agora existe a
svn:global-ignores
propriedade que funciona como,svn:ignore
mas recursivamente (então defina isso em seu diretório de nível superior)fonte
global-ignores
no~/.subversion/config
arquivo, mas também a propriedade herdávelsvn:global-ignores
definida em um diretório em um repositório SVN, bem comosvn:ignore
- você pode fornecer um resumo dessas diferentes opções e como elas se comparam? Como a--recursive
bandeira os afeta também?obj
pasta ainda apareceu] ( stackoverflow.com/questions/50960188/… ), você pode me ajudar a dar uma olhada nela?svn propset
toma--recursive
como uma opção, então você pode fazer isso, com duas desvantagens:svn:ignore
propriedade sempre que adicionar um novo diretóriofonte
Não é possível fazer isso. Existem apenas dois mecanismos de ignorar no Subversion,
svn:ignore
(que não é recursivo) eglobal-ignores
(que não é específico para um repositório).fonte
Isso funciona para mim:
fonte
adicione ao seu arquivo ~ / .subversion / config ou / etc / subversion / config:
fonte
É possível ignorar build e dist dirs removendo os diretórios do controle de versão. O truque é usar a opção --keep-local para deixar o diretório na cópia de trabalho. Por exemplo:
O diretório não será mais rastreado pelo subversion, mas ainda estará lá em sua cópia de trabalho para manter a saída do compilador, etc.
saúde, joe
fonte
Por exemplo, a estrutura da pasta:
É bom fazer um svn delete do conteúdo dist antes de ignorar o comando, então para ramos dist estará vazio.
Funcionou para mim, testado hoje. Aqui está a página explicando um pouco
fonte
Para ignorar todos esses arquivos em todos os repositórios, você pode adicionar um
global-ignores
ao seu arquivo de configuração por usuário.Veja as opções de configuração
Infelizmente, não há opção por repositório para fazer isso. É basicamente por usuário ou por diretório, então o múltiplo
svn:ignores
é provavelmente o caminho a percorrer, por mais chato que possa ser.fonte
Primeiro, você precisa ir para a pasta superior de sua cópia de trabalho e criar um arquivo (digamos .svnignore) onde deve colocar todos os padrões que deseja ignorar, por exemplo (para um projeto Android):
Então você executa o seguinte comando (lembre-se de que você deve estar na pasta superior de sua cópia de trabalho):
Isso só funcionará para pastas e arquivos que ainda não estão sob controle de versão. Se você quiser que uma pasta (ou arquivo) que está sendo versionada comece a ser ignorada também, remova-a do controle de versão executando o comando:
Tudo isso neste excelente artigo que explica tudo: http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
fonte
No subversion 1.8, é possível definir global-ignores para o repositório atual.
Além disso, você pode criar uma pasta chamada .svnignore e escrever as condições.
lembre-se de uma condição por linha, definir build / * ou dist / debug é em vão. Então faça o comando:
fonte
Crie um arquivo e adicione seus itens ignorados a ele
lista de ingores:
então aplique o seguinte comando
diretório é o nome do seu diretório, você pode subcategorizar também diretório / subdiretório. Ou use * para indicar o diretório atual em que você está.
Isso pressupõe que você está usando o bash como shell
fonte
onde svn_ignore_rules é um arquivo contendo as regras para ignorar - uma por linha
Claro que você precisa executá-lo novamente toda vez que adicionar um novo diretório ao seu repo
svn_ignore_rules também pode ser considerado como verificado no repo, para ser reutilizável por outros usuários com acesso de gravação ao repo
fonte
fonte
set EDITOR=notepad
svn propedit svn:ignore .
Como parece não haver solução para este problema provavelmente comum, gostaria de compartilhar nossa solução. Como os outros já deixaram claro, você pode usar a
svn:ignore
propriedade, que se aplica a um único diretório (e, portanto, não para novos), ou você pode usarglobal-ignores
que se aplica a um único usuário (mas não pertence ao repositório).Para tornar a vida um pouco mais fácil, criei um arquivo reg chamado
Settings.Svn.reg
e adicionei-o à raiz do repositório. Agora todos podem clicar duas vezes neste regfile uma vez e ter as configurações feitas.Eu realmente apreciaria uma solução dentro do repositório SVN, então, se alguém souber, você gostaria de compartilhá-la?
fonte
Uma maneira seria adicionar algum tipo de verificação ao gancho pré ou pós-commit, mas é uma observação direta se você não possui o servidor repo.
fonte