Search code examples
command-linemercurialtortoisehg

hg log not finding file even though it exists


I am not understanding why Mercurial sometimes cannot find file when it does a log command, but it always finds it when I do a status.

For example:

hg status --change "1111" "path\to\file" -- Returns path to file

hg log -r "1111" "path\to\file" -- Returns changeset

But, sometimes it fails with a different changeset:

hg status --change "2222" "path\to\file" -- Returns path to file

hg log -r "2222" "path\to\file" -- Returns nothing

How can this be? If the file exists proven through the use of a status command, how can I not retrieve the changeset through log on some changesets?


Solution

  • Hidden in the documentation it seems like this solved my issue:

    For performance reasons, 'hg log FILE' may omit duplicate changes made on branches and will not show removals or mode changes. To see all such changes, use the --removed switch.

    Seems a little ridiculous that you have to specify this, especially when you already explicitly state the file.