SVN: A vácuo / excluir cópias originais da linha de comando

1

Como posso aspirar / excluir todas as cópias originais de uma cópia de trabalho da linha de comando?

Caso de uso:

  • Tenho várias cópias de trabalho (20+) confirmadas
    (mesmo caso para muitos desenvolvedores em nossa empresa)
  • algumas dessas cópias de trabalho crescem muito ao longo do tempo
  • Quando o espaço em disco é escasso, preciso limpar cada cópia de trabalho manualmente conforme descrito nesta resposta (verificando previamente, quais cópias de trabalho ocupam a maior parte do espaço em disco)
  • Bônus: calcula (estima?) o espaço em disco ocupado por cópias originais e só chama limpeza, se isso resultar em ... GBs a serem liberados.

Isso é entediante e propenso a erros, portanto, gostaria de automatizar essas 20+ limpezas em um vacuum_pristine_copies.XXX Script, que pode ser executado na hora da necessidade mais profunda.

etiqueta incluída

  • É possível chamar cleanup da linha de comando (consulte os documentos aqui ) .
    No entanto, isso não possui uma opção /vacuum-pristine . (Nós já usamos esta automação do TortoiseSVN para fazer atualizações em lote).
  • Estamos trabalhando em máquinas Windows, mas não estamos fixos em CMD .
    Uma alternativa possível poderia ser o Python27.
por hardmooth 31.03.2016 / 08:10

2 respostas

4

Para TortoiseSVN a opção ou parâmetro é /vacuum como mencionado pelo desenvolvedor num email . Como você apontou, está faltando na documentação.

O SVN 1.8 introduziu a aspiração automática de pristines para o comando cleanup e 1.9 fez com que ele e outros recursos fossem opcionais. Fonte: changelog do SVN .

    
por 23.04.2016 / 16:36
0

Para o svn anterior a 1.10, basta digitar "svn cleanup" sem nenhum parâmetro. O Svn irá automaticamente aspirar os primitivos depois de terminar a limpeza.

Para o svn 1.10 (talvez ou mais tarde, espero), você digita o comando acima junto com "--vacuum-pristines" ("svn cleanup --vacuum-pristines"), e o svn fará o mesmo por você. Mas você pode adicionar outros parâmetros também e o svn irá executar todos eles em um único comando. Por exemplo, ("svn cleanup --remove-unversioned --remove-ignored --vacuum-pristines")

É claro que, assim como as versões mais antigas, digite "svn cleanup" sem nenhum parâmetro que aspire também em 1.10.

    
por 26.04.2018 / 05:20