I am using Mercurial 2.1.1 with the daily snapshot of JavaHg in a Grails 1.3.7 environment.
I am trying to interact with a remote repository that has the largefiles extension enabled.
I have created an hgrc file with the largefiles extension enabled and set the RepositoryConfiguration
to point to it.
I have verified that the repository is pointing at the correct hgrc by putting a unique username in the hgrc file and verifying that the repository uses that username when doing a commit.
RepositoryConfiguration repoConfig = new RepositoryConfiguration()
repoConfig.setHgBin(CH.config.hgbin)
repoConfig.setHgrcPath(CH.config.hgrc)
Repository repo = Repository.clone(repoConfig, tempDir, remoteDir);
When I try to clone a repository with largefiles enabled, however, I get the following stacktrace:
java.lang.RuntimeException: abort: unknown repository format: requires features
'largefiles' (upgrade Mercurial)!
at com.aragost.javahg.internals.Server.execHgCommand(Server.java:481)
at com.aragost.javahg.BaseRepository.<init>(BaseRepository.java:65)
at com.aragost.javahg.Repository.clone(Repository.java:93)
How do I enable the largefiles extension?
It should work to use a hgrc file that enables the largefiles extension as you have done. I have created a test case for JavaHg to test this.
The Jenkins continuous integration has successfully executed the test with all Mecurial versions >=2.0.
Maybe you could compare your code with the test case, and see what you do different?