Forum Programmation.autre Question mercurial/svn

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
5
19
fév.
2013

Bonjour,
j'utilise depuis quelque-temps mercurial pour versionner mon code au boulot, et j'en suis très content (bien que je sois plutôt débutant).
Malheureusement, je travail dans un environnement hostile : tout le monde tourne sous svn…

Je suis donc à la recherche d'un mode d'organisation me permettant d'interagir au mieux avec notre serveur subversion. Mon plus gros problème vient du fait que nous avons plusieurs librairies sous un même dépôt svn:

Depôt
|- Librairie1
|- Librairie2
|- Librairie3

J'ai essayé l'extension svn de subversion, mais dans ce cas je ne peux pas brancher les sous-librairies indépendamment (ce qui enlève une bonne partie des avantages de mercurial).
J'avais entendu parler de subrepositories mercurial afin de créer un dépôt mercurial "global" et ensuite un sous-dépôt par librairie. Malheureusement, cette fonctionnalité est peu recommandée par les développeurs de mercurial (d'autant plus qu'elle peut induire des comportements un peu bizarre)

J'ai ensuite essayé d'emboîter les dépôts mercurials (un mercurial "global" géré par l'extension svn, et des dépôts locaux par librairie), mais en pratique j'ai eu des problème car le dépôt de plus haut niveau ne veut plus rien commiter ensuite arguant que le code est géré par les dépôts locaux (pour qui svn n'existe pas).

Pour l'instant, j'ai donc créé un dépôt mercurial par librairie, et je gère le dépôt de plus haut niveau directement avec svn (aucune sync avec mercurial). Le problème, c'est qu'il faut faire attention lors des updates svn pour ne pas me foirer mes branches en y incluant des modifs provenant de subversion. Je pensais donc laisser la branche "default" de chacune des librairies synchronisée avec svn et propager ces modifs vers mes branches si besoin…

Qu'en pensez-vous ?
(je tourne en rond !)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.