SVN Move code avec l'histoire entre les deux référentiels
Je dois travailler sur deux référentiels et souhaitez déplacer un répertoire avec le code entre les deux tout en gardant revisionhistory.
J'ai lu quelques questions ici, mais je suis toujours pas sûr de la façon d'aller. Nos Dépôts sont ÉNORME (les fichiers (orkingcopy) non compris les révisions>plusieurs GO), car tout est archivé (code +designdata + ...).
Les solutions que j'ai vu jusqu'à présent sont:
- svnadmin dump + filtre + importation: pas une option en raison de référentiel taille
- svnsync: Nous avons déjà données dans le deuxième référentiel (les dépôts sont énorme déjà, je ne pense pas que la fusion est une bonne idée, en plus de decidng qui n'est pas mon travail), et de ce que j'ai recueilli, cela nécessite la deuxième référentiel d'être vide.
- Troisième Partie De La Solution: se bloque à plusieurs reprises, car il ne peut pas supprimer un fichier, car "un autre processus as le fichier ouvert" (enevthough je peux supprimer le fichier via l'os, et il est créé par le script)
Il existe d'autres solutions, des approches à cela, ou alors j'ai loupé quelque chose au sujet de l'une de ces solutions?
Pourquoi est la première option un problème? Vous pouvez passer le dump à travers un filtre sans l'enregistrer dans un fichier.
considérant que le référentiel est d'environ 20 go vérifié et les numéros de révision sont autour de 6 chiffres (112 xxx) pour le moment, la décharge doit être considérablement plus important. Le Dumping le référentiel complet pour déplacer un répertoire de code qui est un couple de mo en taille semble exagéré. Cela met beaucoup de stress inutile sur le système (consultez chaque révision/dump => "copie" 200G ou beaucoup plus (vérifier la repro taille) => exécuter le filtre sur 200G de Données. Si vous considérez que cela fonctionnera sur le réseau qui est déjà soumis à une utilisation intensive, il inhibe notre flux de travail.
En bref, je ne suis pas sûr que j'ai 200G à ma disposition (pas un admin, juste un utilisateur), l'impact sur le réseau et les frais généraux. Considérons maintenant que je veux continuer à travailler alors que cette quantité de données est déplacé. Mais qu'est-svn dump faire s'il y a dépôt accède dans le temps de le dire?
Je pense vraiment que l'option 1 est votre meilleur pari. L'exécution de la dump/filtre directement sur le serveur svn permettra d'alléger la charge du réseau. Il peut être une douleur, mais vous serez plus heureux par le biais de la durée de vie de l'opération.
vous voulez le repo en mode hors connexion lorsque vous prenez le dump.
considérant que le référentiel est d'environ 20 go vérifié et les numéros de révision sont autour de 6 chiffres (112 xxx) pour le moment, la décharge doit être considérablement plus important. Le Dumping le référentiel complet pour déplacer un répertoire de code qui est un couple de mo en taille semble exagéré. Cela met beaucoup de stress inutile sur le système (consultez chaque révision/dump => "copie" 200G ou beaucoup plus (vérifier la repro taille) => exécuter le filtre sur 200G de Données. Si vous considérez que cela fonctionnera sur le réseau qui est déjà soumis à une utilisation intensive, il inhibe notre flux de travail.
En bref, je ne suis pas sûr que j'ai 200G à ma disposition (pas un admin, juste un utilisateur), l'impact sur le réseau et les frais généraux. Considérons maintenant que je veux continuer à travailler alors que cette quantité de données est déplacé. Mais qu'est-svn dump faire s'il y a dépôt accède dans le temps de le dire?
Je pense vraiment que l'option 1 est votre meilleur pari. L'exécution de la dump/filtre directement sur le serveur svn permettra d'alléger la charge du réseau. Il peut être une douleur, mais vous serez plus heureux par le biais de la durée de vie de l'opération.
vous voulez le repo en mode hors connexion lorsque vous prenez le dump.
OriginalL'auteur ted | 2012-10-22
Vous devez vous connecter pour publier un commentaire.
La svnadmin dump + filtre + importation fonctionne même avec les grands dépôts.
Il y a quelques choses que vous devez faire pour la performance.
En savoir dont la révision a été celui qui a d'abord créé le dossier que vous souhaitez copier. Ensuite, vérifiez le journal pour trouver la dernière révision qui a modifié quoi que ce soit dans ce dossier. Vous avez seulement besoin de dump de révisions dans cette gamme.
Utiliser l'option --différentiels drapeau à svndump.
N'essayez pas d'utiliser les Deltas drapeau avec SVN de Vidage. SvnDumpFilter ne fonctionne pas sur les décharges créé avec "deltas".
Ne pas essayer de sauver les énormes dump dans un fichier et l'exécuter SvnDumpFilter sur le fichier. Au lieu de le faire en une seule étape avec un tuyau.
Si votre départ révision 10000 et la fin de votre révision-20000 et le chemin d'accès que vous souhaitez copier a projets/source, la commande doit ressembler à
Suivie par un svnadmin load commande pour charger le dump dans vos autres pensions.
Oui, vous pouvez faire de la décharge et de charge avec le dépôt en ligne.
OriginalL'auteur maddoxej