View differences between two changesets on one file

Mercurial

Mercurial Problem Overview


I have a file tracked in Mercurial. I can see its history with hg log. How can I see the diffs between its most recent version, and the last checked-in changeset?

Mercurial Solutions


Solution 1 - Mercurial

hg diff -r <first_revision_number>:<other_revision_number> filename

that will do it

e.g hg diff -r 0:1 default.aspx

hope it helps

Solution 2 - Mercurial

If you know the revision numbers, then what PaulStack said is correct.

If you explicitly want to know the difference between the current tip of the branch, and it's previous, you can use shortcuts. Of course, if the file hasn't changed, the diff won't show anything useful.

hg diff -r -1:. filename

The -1 says previous changeset on this branch. the '.' means the current changeset. You can use -2, -3 etc, but once you hit a merge point, it gets a little more interesting. (reference: http://hgtip.com/tips/beginner/2009-10-05-shortcuts-for-specifying-revisions/)

If what you want is the outstanding changes in your workspace, then it's merely hg diff filename.

A few useful places for HG newbies is http://hgtip.com.

The HG definitive guide at http://hgbook.red-bean.com/.

A stackoverflow like site that's more HG specific is the Kiln support site. http://kiln.stackexchange.com. Kiln is built on top of HG, and uses a modified TortoiseHG client, so most of the questions and answers there are informative. They will also answer questions even if you aren't a user.

Solution 3 - Mercurial

there is also de ^ syntax for the parent revision, which in addition to . (the parent of the working directory) make a useful combination:

show the diff between current checked out revision and its parent revision (this works around tip and -1 limitations)

hg diff -r .^:.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAP257View Question on Stackoverflow
Solution 1 - Mercurialstack72View Answer on Stackoverflow
Solution 2 - MercurialMikezx6rView Answer on Stackoverflow
Solution 3 - MercurialarhakView Answer on Stackoverflow