2
votes

I want to commit separately different parts of the same file.

I want to commit line 2 first with the message (changeset 1) and the 4th line with the message (changeset 2). How do I do it?

I am using Mercurial Distributed SCM (version 3.5.2+20151001)

1

1 Answers

3
votes

You can do this with the interactive option to commit.

First add the following to your ~/.hgrc file:

[ui]
interface = curses

Then use:

hg commit -i

This will tell commit to allow you to interactively select what files or (by drilling into the file) select sub file changes.

You can use this multiple times, selecting individual changes in the files.

Note: without the addition to your .hgrc, hg commit -i will ask you for each file and not allow you to drill into and select individual file changes.

The interactive option is also being implemented in other mercurial commands such as restore (you can select what changes are to be restored) and the new experimental amend command. It is very powerful and easy to use.