2

我在 Grails 1.3.7 环境中使用 Mercurial 2.1.1 和 JavaHg 的每日快照。我正在尝试与启用了 largefiles 扩展的远程存储库进行交互。我创建了一个启用了 largefiles 扩展名的 hgrc 文件并将其设置RepositoryConfiguration为指向它。

我已经通过在 hgrc 文件中放置一个唯一的用户名并验证存储库在执行提交时使用该用户名来验证存储库指向正确的 hgrc。

RepositoryConfiguration repoConfig = new RepositoryConfiguration()
repoConfig.setHgBin(CH.config.hgbin)
repoConfig.setHgrcPath(CH.config.hgrc)
Repository repo = Repository.clone(repoConfig, tempDir, remoteDir);

但是,当我尝试克隆启用了大文件的存储库时,我得到以下堆栈跟踪:

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)

如何启用 largefiles 扩展?

4

1 回答 1

2

它应该像您所做的那样使用启用 largefiles 扩展的 hgrc 文件。我为 JavaHg 创建了一个测试用例来测试它。

Jenkins 持续集成已成功执行所有 Mecurial 版本 >=2.0 的测试。

也许您可以将您的代码与测试用例进行比较,看看您做了什么不同?

于 2012-05-08T06:01:27.823 回答