views:

390

answers:

1

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.

+1  A: 

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

Nick
I'm not in a position where I can restart at the moment, but even with TortoiseHg installed `hg commit` works. And yes, as you assume, I haven't modified anything in the .hg directory and nobody else has access to the computer. I'll uninstall TortoiseHg and leave another comment when I restart, in case it helps at all. Also, I don't know what you mean "someone else is doing than", but I tried turning all the editor settings to unspecified and it still fails the same way.
31eee384
Well I tried it before you posted this answer and it work! But this doesn't really solve the "TortoiseHg problem". I also tried to create a clean repository and then pull data, change a file and commit, the problem persist... Well I guess I'll just use it the old fashioned way (command line)!
Pierre-Luc Champigny
you can also try using tortoise without the tool that monitors for changes and displays overlay icons. It's not the tortoise itself, but the components it comes with (one can also suspect the diff tool)
Nick