2017-08-03 1 views
1

Pour mettre à jour le code de svn à une révision particulière, nous pouvons utiliser svn update -r REVComment mettre à jour le code svn à une révision au-delà de la révision connue, lorsque les numéros de révision ne sont pas contigus?

Lorsqu'un numéro de révision d'un fichier est non contigu, soit 1, 5, 7, 10 et si nous connaître seulement le numéro de révision 7, comment atteindre la révision présente avant 7? Dans ce cas, il est 5.

+0

Les révisions d'un référentiel sont toujours contiguës. –

+0

Cependant, les révisions de fichiers/dossiers dans le référentiel ne sont pas, donc j'ai fourni une solution. – Jon

Répondre

1

J'imagine que vous essayez d'automatiser l'écriture svn update -r5.

Une suggestion serait d'analyser la réponse de svn log. Par exemple, en utilisant lot:

#!/bin/bash 
svn up n_plus_1 target 
rev=($(svn log -l 2 target | awk '/^r[0-9]+/ {sub(/r/,"",$1); print $1}')) 
svn up -r ${rev[1]} target 

  • cible peut être un fichier ou un dossier
  • n_plus_1 est la révision à partir de laquelle vous commencez (7 dans votre exemple)