0

Some days ago I decided to adopt a "vendor branching" in my current project in order to make 3rd party libraries updates, so I tried to do a similar process as described in this question:
Vendor Branching, Mercurial Style?

Now I basically have this scenario:

  • http://host/hg/vendor - contains version 2.0 of the library and an update to version 3.0
  • http://host/hg/project - this is the main project and already contains version 2.0 of the library with some local changes (which previously was version 1.0 and was updated manually).

In the vendor repo I :

  • Created a branch named "vendor-lib"
  • Added added lib-2.0 and tag lib-2.0
  • Added (addremove) lib-3.0 and tag lib-3.0

In my project repo I:

  • Pulled the external vendor repo hg pull ../vendor -f
  • from default I did hg merge vendor-lib

Now comes the problem, all files are conflicted. In the conflict, Local and Other are normal files, but Base is empty. So the solution is adding one of them or setting the file as completely empty. I assume that this happens because the pulled branch vendor-lib hasn't any common parent with default.

I don't know if maybe there is a way to set a common parent between both branches, or just merging the delta between lib-2.0 and lib-3.0 to default.

I'd really appreciate your help. Thank you.

Community
  • 1
  • 1
savioret
  • 85
  • 8
  • Why do you need this when you can use nuget? If your vendor doesn't have a nuget package, you can create and host yourself. – Zote Oct 24 '12 at 16:28
  • [This my answer](http://stackoverflow.com/a/12875663) you may use as starting point – Lazy Badger Oct 24 '12 at 18:06

0 Answers0