Puis-je émuler svn: externals en utilisant mercurial?

Nous envisageons un passage de SVN à Mercurial et nous avons rencontré une pierre d’achoppement.

Nous utilisons actuellement svn:externals pour extraire automatiquement un ensemble commun de bibliothèques dans le répertoire de travail. Je ne trouve pas de support pour quelque chose comme ça dans Mercurial.

Y at-il un moyen de le faire automatiquement avec Mercurial, ou dois-je faire semblant dans le cadre de mon processus de compilation?

    Il n’y a aucun moyen de le faire en utilisant uniquement mercurial. L’extension forestière mentionnée ailleurs provoque plus de problèmes que dans les correctifs de nos jours. La plupart des gens utilisent simplement un gros repository et incluent tous leurs composants dans le repository, puis leurs scripts de génération téléchargent et utilisent des bibliothèques tierces – en utilisant maven s’ils sont Java.

    Réponse courte “Fake it dans votre processus de construction”.

    Mettre à jour:

    Dans Mercurial 1.3, une nouvelle fonctionnalité de mise en pension secondaire a été ajoutée. c’est comme l’ancienne extension de forêt, mais a commencé comme tout nouveau code.

    Les sous-positions sont considérées comme une ” caractéristique de dernier recours “.

    Il semble que la fonctionnalité de l’extension de la forêt soit mise en œuvre dans le kernel Mercurial (à partir de la version 1.3):

    https://www.mercurial-scm.org/wiki/Subrepository .

    Actuellement marqué comme “expérimental” mais sera peut-être la voie pour gérer la fonctionnalité svn: external -type à partir de v1.4.

    Avez-vous essayé l’ extension Deps ?

    Cela ne fait pas partie de Mercurial, mais semble imiter la fonction svn:externals

    Essayez l’ extension forestière de Mercurial.