Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mercurial Commit several changesets as one single changeset

Tags:

mercurial

I have a following question. Now, suppose we have two repositories, a stable one and a developer one (that is the child of the central). Suppose I made several commits (about ten) in the developer repository while debugging and cleaning the feature I am working on.

Suppose I finished working with the feature and I push it to the central repository. Everything is fine, however, I would like to have an ability to somehow filter the log of the central repository. As far as I understand it will show info about all the commits I made to the developer repository. Is there a possibility to somehow filter that and display the info just about the push in the history log? I mean see it as the single big commit - a stable one.

I understand that inside the central repository the changesets will not be merged into a single one, what I would like to see is the history of the pushes, not the changesets.

like image 683
SPIRiT_1984 Avatar asked Nov 25 '11 07:11

SPIRiT_1984


2 Answers

  1. You can't have local repo and push-target with different history - you'll have to build intermediate local repo for history-strip
  2. In addition to the link Raghuram has provided, I'll recall Histedit extension.
like image 188
Lazy Badger Avatar answered Sep 27 '22 23:09

Lazy Badger


The history of pushes isn't recorded anywhere as far as I know. The only thing you could do is use a hook on the central repository to log them yourself, but it'll be separate and not part of the normal flow.

The only thing which is slightly related is hg log -m which shows only the merges. Considering there tends to be a merge at the end of any development branch this can be useful, but only if people put a useful commit message on their merge rather than just 'Merge' which is what people seem to do.

like image 45
Paul S Avatar answered Sep 27 '22 22:09

Paul S