Qual é a melhor maneira de ver quais arquivos estão bloqueados no Subversion?

StackOverflow https://stackoverflow.com/questions/284950

  •  08-07-2019
  •  | 
  •  

Pergunta

Eu finalmente tenho o meu grupo para mudar de SourceSafe para o Subversion. Infelizmente, meu gerente ainda quer usar bloqueios exclusivos em cada arquivo único. Então eu definir o svn:. Estabelecimento de needs-lock em cada arquivo e criou um gancho pre-commit para garantir que as estadias propriedade definida

Estamos executando Subversion em um servidor Linux. A maioria de nós usar máquinas com Windows e um uso poucos Macs. Estamos usando vários clientes SVN (TortoiseSVN, SmartSVN, subclipse, etc.).

O que precisamos agora é um bom método / fácil de ver todos os arquivos que estão atualmente bloqueadas em todo o repositório (e quem os tem bloqueado). Eu tenho picado em torno de um pouco em Tartaruga e Subclipse, mas não encontrei o que estou procurando. Nossos projetos têm muitos subdiretórios que são vários níveis de profundidade, por isso seria muito demorado para olhar para cada diretório individual.

O que eu gostaria é um único relatório posso executar esse listas de tudo o que está atualmente bloqueado e que o tem bloqueado. Qual é a melhor maneira de obter este tipo de informação?

Foi útil?

Solução

O que você está procurando o comando svnadmin lslocks .

Eu tenho esta configurado no trabalho porque guardamos alguns documentos do Word em nosso repositório Subversion (com svn:needs-lock). Eu tenho um trabalho cron configurar que todos os dias, verifica a lista de bloqueios e e-mails de um relatório de todos os bloqueios mais de 7 dias para toda a equipe. Dessa forma, podemos dizer que foi acomodado e sentado em uma cópia bloqueado de um documento por um longo tempo.

Outras dicas

Esta pode não ser a resposta que você está procurando, mas você deve tentar convencer o gerente de que os bloqueios não são realmente a melhor prática de desenvolvimento. Há muito lá fora, que tem sido escrito sobre este assunto, por isso não vou repetir tudo isso aqui.

Quando você ir de um ambiente de bloqueio para um com nenhum bloqueio de checkout forçados, em primeiro lugar você acha que vai levar ao caos, mas realmente não faz. SVN é bom em mudanças na concentração quando duas pessoas estão trabalhando no mesmo arquivo, e mesmo se você acabar com conflitos, não é tão ruim para corrigi-los.

Muito melhor do que ficar esperando para o cara que foi para almoço com um arquivo crítico check-out, ou pior ainda, foi de férias.

Para ver os bloqueios que tu e outros sustentam, você pode usar TortoiseSVN ? Verificar alterações .... Testemunhos de bloqueios locais aparecerão imediatamente. Para verificar se há bloqueios mantidos por outros (e ver se algum de seus bloqueios estão quebrados ou roubados) você precisa clicar no check Repository.

Você pode descobrir fechaduras de um checkout local usando svn status --show-updates que irá pôr O antes de todos os arquivos que estão bloqueados no servidor.

por exemplo.

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

o svnbook para mais detalhes

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top