configurationmercurialtortoisehgmercurial-commit

TortoiseHg can't commit--"The system cannot find the file specified"


I just picked up TortoiseHg to use for distributed source control on Windows and installed it on my C drive. Then I created a repository (located in D:\projects).

When I try to commit the changes, it gives me the error

"abort: None: The system cannot find the file specified"

in a new window titled "Commit". This causes the commit to abort. It doesn't specify any file, and when I run hg --traceback commit -m 'Message' it gives this as output:

Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 54, in _runcatch
  File "mercurial\dispatch.pyo", line 483, in _dispatch
  File "mercurial\dispatch.pyo", line 351, in runcommand
  File "mercurial\dispatch.pyo", line 534, in _runcommand
  File "mercurial\dispatch.pyo", line 488, in checkargs
  File "mercurial\dispatch.pyo", line 481, in <lambda>
  File "mercurial\util.pyo", line 420, in check
  File "mercurial\commands.pyo", line 762, in commit
  File "mercurial\cmdutil.pyo", line 1202, in commit
  File "mercurial\commands.pyo", line 757, in commitfunc
  File "mercurial\localrepo.pyo", line 816, in commit
  File "mercurial\localrepo.pyo", line 1053, in status
  File "mercurial\dirstate.pyo", line 629, in status
  File "mercurial\dirstate.pyo", line 540, in walk
  File "mercurial\localrepo.pyo", line 796, in fail
Abort: Adding: The system cannot find the file specified
abort: Adding: The system cannot find the file specified

I don't know what else I can give as debug info, not having any experience with the program.

I have configured TortoiseHg with both a username globally and for the repository. Also, kdiff3 is specified as both the three-way merge tool and the visual diff tool. I have not knowingly changed any other settings.

Thanks for any help, and please ask for more information, I just don't know what to give in this situation.


Solution

  • Try this:

    1. Remove TortoiseHG
    2. Restart the system (basically to make sure there are no processes from tortoise, such as file monitoring, that can put locks on files)
    3. Intall command line hg
    4. do the regular hg commit -m "yourmessage"

    If this works, it's more likely than not that the monitoring tool from TortoiseHg is holding a lock on some file (the system tray applet).

    It also could be the case that someone else is doing than (not TortoiseHg), e.g. editor? diff tool? etc?

    Finally, another reason why this can happen is: someone fooled around with the repo files inside .hg directory... It doesn't seem to be the case though