2010-08-30 47 views
0

Nous avons un serveur avec le service gratuit VisualSVN. Parce que nous voulons faire de la place, j'ai décidé de fusionner les révisions de certains anciens projets. Ils ne sont plus utilisés (les vieux revs.). Pour tester cela, j'ai créé un serveur visualsvn local sur la machine Win7. J'ai créé un projet de référentiel nommé "test", et un outil python qui appelle svnadmin si nécessaire. J'ai écrit un fichier texte avec 5 révisions.VisualSVN - fusionner les révisions en une

Dump, je sauvegarder ce projet:

E:\Repository_Saver>dump.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe dump e:\Repositories\te 
st -r 5 >E:\Repository_Saver\test.dump 
* Dumped revision 5. 

Restaurez à ce projet (sans le supprimer). Je suis erreur:

E:\Repository_Saver>restore.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te 
st --ignore-uuid 
<<< Started new transaction, based on original revision 5 
    * adding path : trunk ...svnadmin: File already exists: filesystem 'e:\Repo 
sitories\test\db', transaction '5-6', path 'trunk' 

J'ai créé un nouveau projet dir avec VisualSVN, et j'ai essayé de restaurer la décharge:

E:\Repository_Saver>restore.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te 
st2vs --ignore-uuid 
<<< Started new transaction, based on original revision 5 
    * adding path : trunk ...svnadmin: File already exists: filesystem 'e:\Repo 
sitories\test2vs\db', transaction '1-1', path 'trunk' 

J'ai essayé de restaurer dans un projet inexistant dir:

E:\Repository_Saver>restore.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te 
st2notexists --ignore-uuid 
svnadmin: Can't open file 'e:\Repositories\test2notexists\format': A rendszer ne 
m találja a megadott elérési utat. 
(The system not found the path) 

J'ai créé un projet test2 avec svnadmin uniquement. Essayez de restaurer ici:

E:\Repository_Saver>restore.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load --ignore-uuid e:\R 
epositories\test2 
<<< Started new transaction, based on original revision 5 
    * adding path : trunk ... done. 
    * adding path : trunk/akarmi.txt ...svnadmin: Checksum mismatch, file '/tru 
nk/akarmi.txt': 
    expected: c8f86f8733e4cb120d475cfd118bd93a 
    actual: 94bed0edc96af1cc6f87cb19ec81ef9e 

Avec force:

E:\Repository_Saver>restore.py 
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load --force-uuid e:\Re 
positories\test2 
<<< Started new transaction, based on original revision 5 
    * adding path : trunk ... done. 
    * adding path : trunk/akarmi.txt ...svnadmin: Checksum mismatch, file '/tru 
nk/akarmi.txt': 
    expected: c8f86f8733e4cb120d475cfd118bd93a 
    actual: 94bed0edc96af1cc6f87cb19ec81ef9e 

Telle est donc la liste de mes tryings. Je ne peux pas restaurer le vidage à n'importe où. Mais il fallait que je puisse fusionner les révisions.

Qu'est-ce que je fais mal? Ce que je dois faire?

Cette machine locale est Win7/x64, avec VisualSVN Free. Mais j'ai essayé avec ces opérations également dans Win2k3, et j'ai également eu ces erreurs.

pour chaque idée THanks, aide, lien, essayer ...

dd

Répondre

0

Je pense avoir trouvé une solution. J'ai simplifié le code de la création/sauvegarde/chargement à ceci:

- créer -

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" create %1 

- benne -

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" dump -r%2 %1 >%1.dump 

- charge -

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" load %1 <%2.dump 

Utilisation:

Le nouveau, repos fusionné.

create project_merged 

Dump avec le dernier rev.qu'est-ce que 39

dump project_original 39 

Chargez le fichier de vidage dans de nouveaux comptes.

load project_merged project_original 

Important: le fichier sauvegardé ne doit pas être ouvert avant le chargement! J'ai toujours fait cette erreur que je l'ai ouvert (pour voir le contenu).

Le référentiel de l'interface graphique "Creating" ne fonctionne pas avec load. VisualSVN est faire quelques fichiers plus ... :-(

Merci: dd