views:

29

answers:

1

I want to use Mercurial to capture changes made to the vanilla installation of a piece of software we use. Everytime we upgrade the software, we need to manually edit the various configuration files and add 3rd party libraries that we use in the current version of the software. Creating patches for the configuration files changes are fine, but how do I add 3rd party libraries (binaries) to a Mercurial patch? Is it even possible?

A: 

Even if it may be possible, it is not advisable! (for Mercurial or any other VCS)
A Version Control System is not made to record binaries (mainly because it quickly grows out of proportion, take a all lot of disk space, and has no efficient way to be stored in delta)

You should record the configuration need for each version you tag.
That can be a text file, or a maven pom for instance. Anything that allow an external mechanism (like maven) to download and locally store for you the right dependencies.

That means your patch will include changes to that text file (pom for instance), as well as the rest of the code modifications.

VonC
Discovered it is possible (using hg add followed by hg qrefresh), but I take your points on board VonC. I might just setup a POM and Nexus to handle my situation. Thanks for the tip
David Corley