Synchroniser deux copies locale avec Subversion
Script utile pour synchroniser deux copies locale
Ce script peut être utile si comme moi, vous avez eu un problème pour synchroniser plusieurs machines toutes connectées à un repository qui lui est à une version trop élevée pour être mise en production, ou si vous ajoutez simplement une nouvelle machine dans votre cluster.
app01 est une machine en production et app02 est une nouvelle machine à installer, en faisant le checkout du projet sur app02, celui-ci sera automatiquement mis à la dernière révision, hors les machines en productions sont à une révision inférieur car les nouveautés n’ont pas encore été publiées.
Usage
-
# création de la copie locale sur la nouvelle machine app02
-
sahid@app02:~/my-project$ svn co http://svn01/trunk .
-
sahid@app02:~/my-project$ svn info
-
Path: .
-
URL: http://svn01/trunk
-
Repository Root: http://svn01
-
Repository UUID: 586607cd-4b0d-0410-991d-ebafab6a8aee
-
Revision: 8560
-
Node Kind: directory
-
Schedule: normal
-
Last Changed Author: sahid
-
Last Changed Rev: 8560
-
Last Changed Date: 2008-10-23 17:27:27 +0200 (Thu, 23 Oct 2008)
-
-
# Vérifie à qu’elle version est app01
-
sahid@app01:~/my-project$ svn info
-
Path: .
-
URL: http://svn01/trunk
-
Repository Root: http://svn01
-
Repository UUID: 586607cd-4b0d-0410-991d-ebafab6a8aee
-
Revision: 7309
-
Node Kind: directory
-
Schedule: normal
-
Last Changed Author: sahid
-
Last Changed Rev: 7309
-
Last Changed Date: 2008-08-15 17:55:17 +0200 (Thu, 15 Oct 2008)
-
-
# Pour synchroniser app02 avec app01
-
-
sahid@app01:~/my-project$ ./svn_sync.py -d > mydiffs
-
sahid@app02:~/my-project$ sh mydiffs
-
sahid@app02:~/my-project$ svn info
-
Path: .
-
URL: http://svn01/trunk
-
Repository Root: http://svn01
-
Repository UUID: 586607cd-4b0d-0410-991d-ebafab6a8aee
-
Revision: 7309
-
Node Kind: directory
-
Schedule: normal
-
Last Changed Author: sahid
-
Last Changed Rev: 7309
-
Last Changed Date: 2008-08-15 17:55:17 +0200 (Thu, 15 Oct 2008)
Les sources
Je met à dispos les sources de svn_sync.py si cela peut servir.
svn_sync.py





