Skip to content

Performance improvement - refresh status qualify by project path

Bitbucket Importer requested to merge bitbucket/merged-pr-45 into branch/default

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.

Merge request reports