fixed mercurial PreReceiveRepositoryHooks

The problem seems to be that guice had multiple options for injecting
HgContext. HgContextProvider bound via Module and HgContext bound void
RequestScoped annotation. It looks like that Guice 4 injects randomly
the one or the other, in SCMv1 (Guice 3) everything works as expected.

To fix the problem we have created a new class annotated with
RequestScoped, which holds an instance of HgContext. This way only the
HgContextProvider is used for injection.
This commit is contained in:
Sebastian Sdorra
2019-02-13 12:30:40 +01:00
parent 093019a918
commit 352bfe7f5a
4 changed files with 22 additions and 14 deletions

View File

@@ -134,6 +134,8 @@ public final class HgUtil
repoConfiguration.setHgBin(handler.getConfig().getHgBinary());
logger.debug("open hg repository {}: encoding: {}, pending: {}", directory, enc, pending);
return Repository.open(repoConfiguration, directory);
}