Maintaining branches and tags in a multi-module project that uses mercury

I work in an application with many modules, each of which has its own mercury repository.

I initially thought it was good to have modules in separate repositories, but after several releases I feel that something is wrong. This is really a pain for creating branches and tags in all modules.

In most cases, if not all modules follow a similar release cycle.

Should I continue to use the same repository for all modules? Or is there a better way?

+3
source share
3 answers

A single repository for all modules means that they are closely related in the development life cycle:

  • ( )
  • ( , )

"v1.2" - , , , .

v2.4, - v3.6, - "v4.5" ..., , subppos.


Lasse V. Karlsen :

, ,

,

OP :

:

  • ,

, ( " " ) subrepos ( , ).

( git ) Hg tip you: "

+3

, . .

[: ]

:

  • ~
  • /, .

, . . , , / . , .

P1 -------P2 ------P3 ------p4

A1------A2--------------A3--------- (A1, A2, A3 utilize platform P1, P2, P3..)

B1--------B2----------B3---------   (B1, B2, B3 utilize platform P1, P2, P3..)

A3------------------B3--------------
+2

( " " ).

Subrepo (, , GuestRepo - subrepo) "SuperRepo", sub | guestrepos, :

Superrepo ( changeet-ID ). :

  • , () Superrepo - tagged changeset ()
  • , , , ( SuperRepo - ): branch "Release N" , Superrepo

From POV flexibility and manageability, I still prefer a separate repo for each low-level module (a self-contained object without external dependencies) and GuestRepo for collecting modules in Product and managing the product in it life cycle - I don’t see a “fork” of nightmare tags here

0
source

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


All Articles