Pergunta

Temos um site de intranet apoiado por SVN, de forma que o site seja uma cópia de checkout do repositório (pasta de trabalho usada apenas pelo IIS).Algo no site está causando problemas hoje e quero saber como descobrir o que foi verificado nessa pasta de trabalho nas últimas 48 horas.

Atualizar: Se houver uma opção que preciso ativar para ativar isso no futuro, qual é?

Além disso, como corolário, se eu tiver que usar o tempo de criação do arquivo, como posso fazer isso rapidamente de maneira recursiva para uma pasta grande?


Se eu tiver que verificar os tempos de criação, então essa questão também será útil para a solução.

Foi útil?

Solução

Todo o código na pasta web deve ser apoiado por commits SVN, não deveria?

Se for esse o caso, você poderá facilmente rastrear o problema apenas examinando os logs do SVN nas últimas alterações que foram confirmadas.svn info lhe dirá em qual revisão a cópia de trabalho está atualmente, para que você saiba por onde começar a procurar

Depois de rastrear o commit com o bug, você pode usar svn blame para encontrar a pessoa que fez isso e explicar o que ela esqueceu e como causou o bug.Então você pode fazê-los pagar o almoço para todos por bagunçarem o site.

Se você modificou/adicionou localmente algum arquivo que não esteja no SVN, então svn stat e svn diff mostrará quais são essas alterações, para que você possa descobrir se elas também estão causando o problema.Você deve então reverter essas alterações para que sua cópia de trabalho seja um check-out limpo ou enviar as alterações para o repositório.

Não há nada pior do que tentar rastrear um bug em seu código apenas para descobrir 3 horas depois que o bug não está realmente em nenhum de seu código, mas em algum ajuste local estúpido que alguém fez na cópia de trabalho que nunca foi confirmado: - (

Outras dicas

Você poderia usar datas de criação nos arquivos locais.Você não pode usar datas de modificação porque o Subversion as define como últimas alterações no checkout.

Também Subversão pode registrar checkouts, mas isso é do lado do servidor

Dependendo de como você acessa seu repositório SVN - se você o estiver acessando como URLs file://, acho que você está sem sorte.Mas se você estiver usando o svnserve ou um dos gateways HTTP, você poderá verificar os logs do servidor para obter acesso aos URLs do SVN.

eu correria um svn st na pasta da web (para encontrar quaisquer arquivos que foram alterados desde o checkout) e compare-os com o repositório.

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