Performance improvement - refresh status qualify by project path
Created originally on Bitbucket by magao (Tim Delaney)
Was already merged in Bitbucket before import, marked as merged by the import user
As noted in issue #523 refreshing currently does an hg status for the entire repository, which is sub-optimal when there are multiple projects in the same repository.
With this change the average time required to do a status for each of my projects drops from >2000ms to <200ms.
Before:
Server: runcommand(2149ms) status --modified --added --removed --deleted --unknown --clean
After:
Server: runcommand(169ms) status --modified --added --removed --deleted --unknown --clean path/to/project
This is a massive improvement for my workflow. However, I'm not sure if the change is sufficient - if the project has linked resources then it's possible that they could be outside of the project directory but inside the repository, so that might need to be accounted for.
I also updated the Eclipse projects to use JDK 1.8; depend on the correct maven project name; and ignore unncessary casts (first changeset in this pull request). There is a lot of other configuration saved from my Eclipse project which may be unncessary, but I don't think will hurt.
I will also note that in order to build javahg-ext-mq and javahg-ext-largefiles I needed to modify the pom.xml to depend on javahg 0.8 rather than 0.8-SNAPSHOT - might want to note that in the development instructions.