mercurial support - what the hell it is doing all the time?

I had already tried to use mercurial support on some small projects just to test whether it was woring at all, and it was working

Now i had to work with a bigger project, and i am starting to question the usefullness and usability of the maercurial support in its current from:

1) it is slow
Moved a pair of dirs to some other directory by dragging nodes in the project tree (a couple of hundreds of files total) - Idea spammed the vcs window with endless "status" and "rename" for each individual file and directory for a couple of minutes, and during that time i was not sure whether i can do something else with the project or not. Waited just in case.

Doing the same from the command line - a couple of seconds, with most time spent on typing the command itself.

On the same note:
1.1) is the constant stream of "status" commands in the vcs window really needed?
1.2) Idea seems to notify hg about all changes post factum (--after on every command).

2) status colors partially supported - changed files change color, unversioned files have their own color, but other than that i don't see that nodes in the project tree change color in the same way as i used to see with the svn integration. Directories are just plain standard color all the time, regardless of their status.

The general meaning of this post is that i am totaly spoiled by the svn integration and i was kind of expecting the same from the mercurial integration, but what i see is basically the constantly running stream of sub-optimal console commands =\

Aret there any plans for the "more integrated" abd more natural mercurial integration that does not delegates everything to hg executable?

Comment actions Permalink

Hi Oleg,

We understand that Mercurial is currently less integrated into IDEA workflow than Subversion.
We are constantly improving it, so please record your suggestions and bugreports to our YouTrack:

Btw, directories can't have status in Mercurial, that's why they are not colored.

VCS console tool window shows hg commands being called from IDEA to let user track what is actually happening. Some command which are regularly executed (such as 'hg status') were made "silent" recently.
Anyway you may close the tool window if it annoys you, and use Changes View instead.

Although Mercurial support will be improved for sure, we don't have plans to move away from hg executable, since there is no real alternative to it.
Do you have any suggestions?

Comment actions Permalink

Aret there any plans for the "more integrated" abd more natural mercurial integration that does not delegates everything to hg executable?

Please, please don't ever do this. I don't know who thought it was a good idea to have multiple implementations of the same VCS just because it's written in a different language (I'm looking at you, svn). Using the hg executable is the most sensible, compatible and hassle-free way to work with Mercurial, and the same should be valid for all other versioning systems. I know process creation means a performance penalty, but I'd rather have that and the safety of knowing that my repository is only being changed by an "official" client than the other way around.

If the executable is being used corretly, the performance penalty should be small enough to not matter, anyway. If this is not the case, than IDEA shoud look on how the invocation could be optimized (for example, instead of invoking hg status for each file, it could invoke hg status once on the repository root).


Please sign in to leave a comment.