Mercurial repository requires features unknown to this Mercurial: largefiles!

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

Adding a Mercurial repository with Large Files extension enabled makes the Fisheye index fail:

atlassian-fisheye-yyyy-MM-dd.log: に次のメッセージが出力される。

2017-08-03 14:07:36,671 DEBUG [InitPing1 Large_FIles_Test ] fisheye RepositoryStatus-setEngineError - Engine Error Set [Large_FIles_Test]: Unable to pull from remote repository: file:///data/crucible/fecru_data/mercurial_large_1
     - [abort: repository requires features unknown to this Mercurial: largefiles!, (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)]
2017-08-03 14:07:36,671 WARN  [InitPing1 Large_FIles_Test ] fisheye IndexingPingRequest-doRequest - Exception during FishEye One-off Indexing of Large_FIles_Test: com.cenqua.fisheye.config.ConfigException: Unable to pull from remote repository: file:///data/crucible/fecru_data/mercurial_large_1
     - [abort: repository requires features unknown to this Mercurial: largefiles!, (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)]
2017-08-03 14:07:36,671 DEBUG [InitPing1 Large_FIles_Test ] fisheye IndexingPingRequest-doRequest - Exception during FishEye One-off Indexing of Large_FIles_Test: com.cenqua.fisheye.config.ConfigException: Unable to pull from remote repository: file:///data/crucible/fecru_data/mercurial_large_1
     - [abort: repository requires features unknown to this Mercurial: largefiles!, (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)]
com.cenqua.fisheye.config.ConfigException: Unable to pull from remote repository: file:///data/crucible/fecru_data/mercurial_large_1
     - [abort: repository requires features unknown to this Mercurial: largefiles!, (see http://mercurial.selenic.com/wiki/MissingRequirement for more information)]
    at com.atlassian.fisheye.hg.HgScanner.fetchLatest(HgScanner.java:164) [fisheye.jar:?]
    at com.atlassian.fisheye.hg.HgScanner.performClone(HgScanner.java:123) [fisheye.jar:?]
    at com.atlassian.fisheye.dvcs.DvcsScanner.cloneRepo(DvcsScanner.java:165) [fisheye.jar:?]
    at com.atlassian.fisheye.dvcs.DvcsScanner.updateLocalRepoClone(DvcsScanner.java:137) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.BaseRepositoryScanner.ping(BaseRepositoryScanner.java:69) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.BaseRepositoryEngine.doSlurp(BaseRepositoryEngine.java:86) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.RepositoryEngine.slurp(RepositoryEngine.java:415) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.ping.IndexingPingRequest.doRequest(IndexingPingRequest.java:27) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.ping.OneOffPingRequest.doRequest(OneOffPingRequest.java:18) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.ping.PingRequest$1.run(PingRequest.java:55) [fisheye.jar:?]
    at com.cenqua.fisheye.util.NamedExecution.run(NamedExecution.java:27) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.ping.PingRequest.process(PingRequest.java:52) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.RepositoryHandle.processPingRequests(RepositoryHandle.java:216) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.RepositoryHandle.access$100(RepositoryHandle.java:58) [fisheye.jar:?]
    at com.cenqua.fisheye.rep.RepositoryHandle$2.run(RepositoryHandle.java:172) [fisheye.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45-internal]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45-internal]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal]
Caused by: com.atlassian.utils.process.ProcessException: While executing: "/usr/bin/hg --config ui.verbose=false pull file:///data/crucible/fecru_data/mercurial_large_1" in [/atlassian/data/fisheye/var/cache/Large_FIles_Test/clone]
    at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:263) [fisheye.jar:?]
    at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:235) [fisheye.jar:?]
    at com.atlassian.fisheye.hg.HgScanner.fetchLatest(HgScanner.java:158) [fisheye.jar:?]
    ... 17 more
Caused by: com.atlassian.utils.process.ProcessException: Non-zero exit code: 255
    at com.atlassian.utils.process.PluggableProcessHandler.complete(PluggableProcessHandler.java:69) [atlassian-processutils-1.5.14.jar:?]
    at com.atlassian.utils.process.ExternalProcessImpl.wrapUpProcess(ExternalProcessImpl.java:509) [atlassian-processutils-1.5.14.jar:?]
    at com.atlassian.utils.process.ExternalProcessImpl.finish(ExternalProcessImpl.java:423) [atlassian-processutils-1.5.14.jar:?]
    at com.atlassian.utils.process.ExternalProcessImpl.execute(ExternalProcessImpl.java:378) [atlassian-processutils-1.5.14.jar:?]
    at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:250) [fisheye.jar:?]
    ... 19 more
2017-08-03 14:07:36,672 DEBUG [InitPing1 Large_FIles_Test ] fisheye RepositoryHandle-release - release engine on Large_FIles_Test, count=0 waited 0 ms to release
2017-08-03 14:07:36,672 DEBUG [InitPing1 Large_FIles_Test ] fisheye RepositoryHandle-acquire - acquire engine on Large_FIles_Test, count=1, waited 0 ms to acquire.
2017-08-03 14:07:36,672 DEBUG [InitPing1 Large_FIles_Test ] fisheye RepositoryHandle-release - release engine on Large_FIles_Test, count=0 waited 0 ms to release

Or the following appears in the atlassian-fisheye-yyyy-MM-dd.log:

2020-08-25 00:27:35,251 WARN  [InitPing2 reponame ] fisheye IndexingPingRequest-doRequest - Exception during Fisheye Incremental Indexing of reponame (reponame): com.cenqua.fisheye.config.ConfigException: Unable to pull from remote repository: http://mercurialuser@myhost/hg/reponame
     - [abort: remote error:, , This repository uses the largefiles extension., , Please enable it in your Mercurial config file.]
     - pulling from http://mercurialuser:XXXX@myhost/hg/reponame


原因

The repository has Large Files extension enabled and the same is not enabled in Fisheye server.

回避策

  1. Edit the Mercurial configuration file found in the server hosting Fisheye:
    1. In Linux / MacOS environments, this file may be /home/<fisheye_user>/.hgrc or /home/<fisheye_user>/mercurial.ini
    2. In Windows environments this file may be %USERPROFILE%\.hgrc or %USERPROFILE%\mercurial.ini:
  2. Enable the extension by adding the following to the file:

    [extensions]
    largefiles =
  3. After enabling the extension you may need to configure it in a new section after the [extensions] section called [largefiles]:

    [largefiles]
    patterns = re:.*\.(png|bmp|jpg|zip|tar|tar.gz|rar)$
    minsize = 10

    Where, according to Mercurial documentation:

    • The patterns setting allows you to specify specific space-separated filename patterns that should always be tracked as large files.
    • The value of minsize setting is given in Megabytes and the default is 10. You may want to try configuring a higher value for this setting.
  4. In Fisheye, go to the repository options and on the Maintenance tab hit :
  5. Wait for the repository to be re-cloned and re-indexed from scratch.

The indexed repository will not show content for the large files in the diff or source panels but only the hash for the large file:



最終更新日 2020 年 9 月 10 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.