Meilleure façon de remplacer toute une arborescence de répertoires dans la Subversion?
Au sein de mon projet Subversion j'ai quelques répertoires qui contiennent d'autres projets open source que mon code doit. Par exemple ffmpeg, freetype, matrixssl et quelques autres.
Quelle est la meilleure façon de mettre à jour SVN pour tenir la dernière version de l'un de ces projets?
Essentiellement que je vais faire la suite (en utilisant ffmpeg, à titre d'exemple):
1) Rename current ffmpeg folder to ffmpeg.old
2) Download new version of ffmpeg from net
3) Make sure it and my code compile and work fine together
4) Update subversion to now hold the "new" version of ffmpeg
5) Delete ffmpeg.old directory tree
OriginalL'auteur KPexEA | 2008-10-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre un coup d'oeil à svnbook parler fournisseur de branches. C'est exactement ce que vous essayez d'accomplir
Vous pouvez utiliser svn_load_dirs.pl pour le remplacement de votre manuel étapes 1-5. svn_load_dirs.pl sera également garder une trace de la nouvelle, déplacé ou supprimé des fichiers.
OriginalL'auteur
J'ai eu la même situation avec CMake, où j'ai garder le binaire win32 release arrivés dans notre répertoire vendor:
Je puis utiliser svn:externals pour se référer à la version de CMake, je suis en utilisant. Il est vraiment facile de tester la mise à niveau vers de nouvelles versions, et il est également clair que la version de CMake, je suis en utilisant.
Oui. Il est inutile de retirer les anciennes, depuis le répertoire vendor n'est jamais vérifié; il se réfère uniquement à l'aide de la propriété svn:externals.
OriginalL'auteur
Tout est correct sauf que vous n'avez pas besoin étapes 1 et 5 - si l'étape 3 ne parvient pas annuler les modifications apportées à l'aide de svn revert de la fonctionnalité.
l'utilisation de svn delete pour supprimer les anciens de l'arbre avant de télécharger la dernière version. Il n'est pas nécessaire pour résoudre quoi que ce soit, et si l'étape 3 ne parvient pas - de revenir. Rien n'est vraiment supprimé depuis le SVN de toute façon.
svn_load_dirs.pl prendre soin des fichiers supprimés
OriginalL'auteur
Je pense que vous avez deux options.
A)
Pro: Sera assurez-vous qu'aucun des fichiers supplémentaires sont conservées si elles ne sont pas présentes dans la version la plus récente.
Con: Peut-être une perte de temps.
B)
Pro: Vous pouvez voir ce qui a changé dans les fichiers de l'outil.
Con: Peut finir avec le désordre. Selon l'outil d'écrasement peut causer des bugs.
fixe. J'allais hors de question de trop
OriginalL'auteur
Si certains le vendeur projets également utiliser Subversion, Vous pouvez l'ajouter
le svn:externals bien vers le répertoire parent de Votre branche ou un tronc.
Prendre un coup d'oeil à la SVN livre pour plus de détails.
OriginalL'auteur