J'ai une succursale dans un repo SVN mal structuré qui doit être dépouillé et déplacé vers un autre référentiel SVN. (J'essaie de le nettoyer). P>
Si je fais un journal de code code> et non stop on copier / renommer em> Je peux voir tous les 3427 commettre que je me soucie de. Existe-t-il un moyen de jeter les révisions, à écrire quelques scripts majeurs? P>
Je suivrais les conseils dans Cette question mais cette branche a été déplacée partout et je voudrais préserver les mouvements également. P>
4 Réponses :
Vous devez utiliser HotCopy pour sauvegarder le répertoire du référentiel. Ensuite, il devrait s'agir simplement de restaurer simplement le référentiel. P>
Je pense qu'il parle de décaper une structure très complexe (avec plusieurs mouvements à l'intérieur) d'un repo qui contient beaucoup plus.
Vous ne pouvez pas utiliser HotCopy pour cela, ce qui ne peut être utilisé que pour faire des copies complètes des référentiels
Vous voudrez utiliser une combinaison de: p>
Si vous voulez faire toute la branche, vous n'avez peut-être même pas besoin de SvnDumpfilter. Mais si vous faites: p>
http: / /svnbook.red-bean.com/nightly/fr/svn.reposadmin.maint.htm#svn.reposadmin.maint.filtering P>
Je suppose que cela pourrait être similaire à ce que @zacthompson (et @pekka) signifie: je pense De votre question, je pense que vous avez l'idée de faire ce qu'il est censé faire mais de lutter contre la copie / le déménagement de la branche sur la place? Une réponse à celle-ci peut être trouvée dans le précédent mentionné Documentation SVN , je crois: p>
Aussi, les chemins copiés peuvent vous donner des
difficulté. Subversion prend en charge la copie
opérations dans le référentiel, où un
nouveau chemin est créé en copiant certains
chemin déjà existant. C'est possible
qu'à un moment de la vie de la vie de
votre référentiel, vous pourriez avoir copié
un fichier ou un répertoire de certains emplacement
que svndumpfilter excluait, à un
emplacement qu'il comprend. Faire
les données de décharge autosuffisantes,
svndumpfilter doit toujours montrer le
ajout du nouveau chemin - y compris le
Contenu de tous les fichiers créés par le
Copier et ne pas représenter cet ajout
comme copie d'une source qui ne va pas
Existe dans vos données de dépotoir filtrées
flux. Mais parce que la subversion
Le format de dépotoir du référentiel ne montre que quoi
a été changé dans chaque révision, la
Contenu de la source de copie pourrait ne pas
être facilement disponible. Si vous soupçonnez
que vous avez des copies de ce genre
Dans votre référentiel, vous voudrez peut-être
Repenser votre ensemble d'inclus / exclu
chemins, peut-être inclure les chemins
qui a servi de sources de votre
opérations de copie gênantes, aussi. P>
blockQuote>
Signification: faire Une autre possibilité pourrait être le svndumpfilter code> est votre ami. P>
svndumpfilter code> Inclure Tous les chemins forts> La branche jamais vécue à. Ou est-ce que je manque quelque chose? P>
svndumpfilter2 code> mentionné par @compie dans le fil que vous avez lié Bien que je pense que ce n'est même pas nécessaire (et je ne sais pas non plus @compie ou
svndumpfilter2 < / code>). p>
Je ne savais pas à Svndumpfilter2 mais cela semble être ce que je cherche. Je vais l'essayer et voir comment ça marche.
Je n'ai pas encore fini mon effort de migration (énorme repo 30k + commits) mais cette méthode semble prometteuse.
Il y a une autre solution assez simple et résout le problème Vous pouvez effectuer les étapes suivantes: p>
configure Autorisation basée sur le chemin A > Règles à Deny STRY> Lire l'accès pour un compte d'utilisateur EM> sur le compte EM> aux chemins Veuillez noter le nom pluriel chemins strong>. Le fichier ou le dossier que vous souhaitez vous débarrasser peut avoir des noms différents ou peut être situé dans différents endroits dans une histoire du référentiel. Veuillez considérer cela lors de la mise en place de règles de refuser. P>
li>
créer un référentiel vide, p>
li>
réplique le référentiel source avec Contrairement à svndumpfilter code>. P>
svnsync code>
outil sur le référentiel cible sous compte nom d'utilisateur em>. Pour plus de détails sur la synchronisation du référentiel avec svnsync code> Veuillez vous reporter au chapitre SVNBook " Réplication du référentiel ". P>
li>
ol>
svndumpfilter code>,
svnsync code> traduit automatiquement
Copie SVN code> Opérations avec un chemin source illisible dans des ajouts normaux, ce qui est utile si l'historique implique des opérations de copie et doit encore être filtré. :) p>
J'ai posé des questions similaires et
svndumpfilter code> était toujours la réponse standard. Êtes-vous sûr que ça ne va pas le couper pour vous?
Eh bien, je pourrais utiliser Svndumpfilter, mais je pense que je vais devoir faire au moins 9 chemin de chemin à des points dans la décharge. Je ne savais juste pas s'il y avait une solution automatisée. (Le repo est trop gâché pour utiliser git-svn).
Pourquoi ne pas importer les révisions comme - est et renommez-les à Subversion? Il n'y a pas besoin de réécrire l'histoire?