DVCS with "named commits"

I am looking for DVCS that will allow me to use something like "named commit" - similar to what happens with patch queues, but not quite ... (I will only compare with mq and stg , since I do not know other similar ones)

The patch queues are close, but I need these features:

  • Creating a new branch in the repository also includes a number of patches. (m q uses global queues of queues, git loses stg information on branching and branches with applied patches)
  • Ability to list "named commits", pop and click them just like patches. (both do it)
  • Binding the changes "named commit" to normal commits - so when I create a patch at turn 1, I change the patch to rev 3, I can still check rev 1 and see the old version. ( mq is global again, stg crashes with "not on any branch" when I revert to an older version)
  • The same as above is really the ability to tag the revision in such a way that if I check it, I get the "named commits" that I had then.

Is there something similar there? Any extensions for some DVCS? Or maybe a way to make mq or stg behave the way I want? Any suggestions?

It seems that mq , which stores its information in the same repo as other files, will be close to what I need, but is this possible?


Just to quickly explain the goal: I want patches to be applied all the time, but they are not β€œpart of the development”. I just want several specific functions to be stored separately in my own fork of the main repo.

+4
source share
1 answer

You can do this with Mercurial, using mq inside your own repo. Most commands have the --mq flag, which will work in the patch queue. To start using hg init --mq ( hg qinit also works, but this template is more limited, especially since qpush will be overloaded). This creates a repo inside .hg/patches , which is independent of the main repo. Then use mq as usual. If you want to commit the fix queue, use hg commit --mq .

You can also flag and flag the --mq flag to track different chapters. Unfortunately, it seems that the Bookmarks extension does not yet support mq, which would be nice, since you probably need lightweight shortcuts. However, if you wanted to, you can set up an alias for qbookmark that simply adds -R .hg/patches , so it works with the patch queue repository.

I have not used this extensively myself, but it looks like Mercurial --mq built-in support to make this a possible solution for you.

+1
source

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


All Articles