Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I emulate svn:externals using mercurial?

We are considering a move from SVN to Mercurial, and have encountered a stumbling block.

We currently use svn:externals to automatically pull a common set of libraries into the working directory. I can't find support for anything like this in Mercurial.

Is there a way to do this automatically with Mercurial, or do I need to fake it as part of my build process?

like image 502
Eltariel Avatar asked Oct 20 '08 04:10

Eltariel


3 Answers

It appears that the functionality of the Forest Extension is being implemented into core Mercurial (as of 1.3):

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

Currently marked as "experimental" but perhaps will be the route to handle svn:external -type functionality as of v1.4.

like image 102
Nick Pierpoint Avatar answered Sep 23 '22 10:09

Nick Pierpoint


There's no good way to do it using mercurial only. The Forest Extension mentioned elsewhere causes more problems that in fixes nowadays. Most folks just use a large repo and include all their components in the repo and then have their build scripts download and use 3rd party libraries -- using maven if they're Java-heads.

Short answer "fake it in your build process".

Update:

In Mercurial 1.3 a new sub repos feature was added. it's like the old forest extension, but started as all new code.

Subrepos are considered a "feature of last resort".

like image 20
Ry4an Brase Avatar answered Sep 19 '22 10:09

Ry4an Brase


Have you tried Deps Extension ?

It's not part of Mercurial, but seems to mimic svn:externals feature

like image 3
yanjost Avatar answered Sep 21 '22 10:09

yanjost