Como posso usar um arquivo em lotes para despejar somente as revisões das últimas semanas no SVN?

1

Anteriormente, estávamos fazendo backup do nosso despejo SVN completo toda noite, mas agora o repositório ficou muito grande.

Se eu estivesse disposto a cortar o histórico de revisões em 2 semanas, como eu faria um script em lote para realizar esse despejo?

Entendo que svnadmin dump pode ter um intervalo de revisão, mas não sei como escrever um script para obter o número de revisão correspondente a um horário no passado, por exemplo, 14 dias atrás.

    
por PLC 20.06.2011 / 11:59

1 resposta

4

O texto de ajuda não mostra, mas você pode especificar um intervalo de revisão usando datas ou algumas palavras-chave, o mesmo que você pode com os comandos normais svn . Para descarregar os commits do mês anterior até o HEAD atual:

svnadmin dump /path/to/repo/ -r {2011-05-20}:HEAD > /path/to/dumpfile

Lembre-se de que esse método significa que você precisa garantir que seus instantâneos capturem cada revisão e não se sobreponham, já que os arquivos de despejo não contêm informações explícitas de numeração de revisão. O método de restauração de svnadmin load apenas reproduzirá e renumerará suas revisões se houver alguma falta ou alguma sobreposição.

Eu devo mencionar svnadmin hotcopy como uma opção de backup, já que eles são muito mais rápidos que os lixões. (Você pode obter dumps offline regulares da hotcopy, se os dumps de texto forem o que você precisa).

    
por 20.06.2011 / 12:25

Tags