Saving third-party libraries as part of the Mercurial project: Sub-repos or not?

We are developing a closed source project with a version of Mercurial. We use two libraries in our project:

  • One of these libraries is being developed by a third party. They use git, and we usually just extract from our repo once a week to get the latest changes.

  • Another library is being developed by us and is in active development. He must live in his own publicly accessible mercury storage facility, as he is licensed under the LGPL. (This is the plug of the third-party component LGPL ported to our platform)

So my question is: how do I organize the source so that:

  • The developer of our team should be able to get all the source files (main projects + libraries) with one clone command

  • We should be able to easily extract the latest changes from libraries, although one of them is managed by git

Should we use the mercurial subreposition functional function, with hg-git, to access the library in the git section? Is it supported by TortoiseHg and BitBucket? (pros: easy to pull library changes / cons: does it work well?)

Or should we only store snapshots of libraries as part of our project? (Thus, when new upstream changes appear in libraries, we pull them into a separate place and then copy the entire source to our project? (Pros: Will it work / minus: pain in the ass, especially for a library that we develop ourselves, which subject to big daily changes)

+3
source share
1 answer

, subrepo hg- git. , . .hgsubstate , , : X . .

, maven, , , . , subrepos - .

+1

Source: https://habr.com/ru/post/1749795/


All Articles