Cannot view commits or source in SCM-Manager on hg repository with large files

712 views
Skip to first unread message

Daniel Shane

unread,
Jun 27, 2013, 8:15:55 AM6/27/13
to scmma...@googlegroups.com

Hi,

 

I’m having trouble viewing the commits or source using the links on the Repository view of SCM Manager when the repository is configured to use the largefiles extension.

 

When I click on either of the links, SCM Manager fails with a “Could not load items. Server returned status: 500” error popup. Looking in the logs, I see the following (I’ve upped the logging level to TRACE for this output):

 

12:51:25.844 [qtp29283956-18] INFO  com.aragost.javahg.internals.Utils - Copy resource /sonia/scm/hg/ext/fileview.py to C:\Documents and Settings\mclarenj\.javahg\tmp\1372333885813-0\sonia\scm\hg\ext\fileview.py

12:51:25.860 [qtp29283956-20] INFO  com.aragost.javahg.internals.Utils - Copy resource /javahg.py to C:\Documents and Settings\mclarenj\.javahg\tmp\1372333885813-0\javahg.py

12:51:26.204 [qtp29283956-20] ERROR com.aragost.javahg.internals.Server - stderr from Mercurial: abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!

12:51:26.204 [qtp29283956-18] ERROR com.aragost.javahg.internals.Server - stderr from Mercurial: abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!

 

From that, I would assume that the version of Mercurial that SCM is referencing doesn’t have the largefiles extension turned on. However the extension is turned on globally and I can confirm this at any command prompt (using “hg help extensions”), where everything works absolutely perfectly. SCM is definitely pointing at the same executable that the command line uses. I’ve also ensured that the extension is explicitly enabled on a per-user basis as well. And in fact every other mercurial.ini file on the entire system.

 

So at this point, I’m absolutely stuck. When SCM Manager references mercurial, it does not appear to use any config file that I can find. Any suggestions?

 

Some useful info:

-          SCM Manager is running as a service on a Windows Server 2003 machine.

-          I’ve tried Mercurial installed both as a standalone executable in C:\Program Files\Mercurial (and corresponding config file at C:\Program Files\Mercurial\mercurial.ini) and as part of a TortoiseHg installation at C:\Program Files\TortoiseHg.

-          SCM is set up with:

o   HG binary: C:\Program Files\Mercurial\hg.exe

o   Python Binary: C:\Program Files\Python27\python.exe

o   Python Search Module: C:\Documents and Settings\mclarenj\.scm\lib\hg

o   Repository Directory: E:\Mercurial\Repositories

o   Encoding: UTF-8

-          The service is set to run as user “Mclarenj” (hence the python search module path)

o   All SCM Manager config files are in C:\Documents and Settings\mclarenj\.scm

-          Pushing/pulling to the repository using SCM-Manager works absolutely fine.

 

Any help would be gratefulyl received!

 

Kind regards,

 

Dan

 

 

--

Daniel Shane
Senior Software Engineer
Clear-Com, an HME Company

2000 Beach Drive, Cambridge Research Park, Cambridge, CB25 9TP, UK
Direct: +44 (0)1223 815016

Main: +44 (0)1223 815000
Fax: +44 (0)1223 815001
Email: daniel...@clearcom.com
www.clearcom.com

 

isxek...@lycos.com

unread,
Jun 27, 2013, 7:37:20 PM6/27/13
to scmma...@googlegroups.com, daniel...@clearcom.com

On Thursday, June 27, 2013 8:15:55 PM UTC+8, Daniel Shane wrote:

Hi,

 

I’m having trouble viewing the commits or source using the links on the Repository view of SCM Manager when the repository is configured to use the largefiles extension.

 

When I click on either of the links, SCM Manager fails with a “Could not load items. Server returned status: 500” error popup. Looking in the logs, I see the following (I’ve upped the logging level to TRACE for this output):

 

12:51:25.844 [qtp29283956-18] INFO  com.aragost.javahg.internals.Utils - Copy resource /sonia/scm/hg/ext/fileview.py to C:\Documents and Settings\mclarenj\.javahg\tmp\1372333885813-0\sonia\scm\hg\ext\fileview.py

12:51:25.860 [qtp29283956-20] INFO  com.aragost.javahg.internals.Utils - Copy resource /javahg.py to C:\Documents and Settings\mclarenj\.javahg\tmp\1372333885813-0\javahg.py

12:51:26.204 [qtp29283956-20] ERROR com.aragost.javahg.internals.Server - stderr from Mercurial: abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!

12:51:26.204 [qtp29283956-18] ERROR com.aragost.javahg.internals.Server - stderr from Mercurial: abort: unknown repository format: requires features 'largefiles' (upgrade Mercurial)!

 

From that, I would assume that the version of Mercurial that SCM is referencing doesn’t have the largefiles extension turned on. However the extension is turned on globally and I can confirm this at any command prompt (using “hg help extensions”), where everything works absolutely perfectly. SCM is definitely pointing at the same executable that the command line uses. I’ve also ensured that the extension is explicitly enabled on a per-user basis as well. And in fact every other mercurial.ini file on the entire system.

It sounds like the repository was converted to support largefiles using the "lfconvert" command. That's why you have the "requires features 'largefiles'" comment.

In addition, it appears JavaHg is the one having trouble with the largefiles extension.

See 

(MercurialEclipse also uses JavaHg). I'm guessing SCM Manager also uses JavaHg for reading Hg repos?

Thanks,
Isxek

Sebastian Sdorra

unread,
Jun 28, 2013, 2:11:01 AM6/28/13
to scmma...@googlegroups.com
Hi,
I can reproduce the issue and i've opened a ticket at https://bitbucket.org/sdorra/scm-manager/issue/413/mercurial-source-commit-view-does-not-work, i will try to fix this.

Sebastian


2013/6/28 <isxek...@lycos.com>

--
You received this message because you are subscribed to the Google Groups "scmmanager" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scmmanager+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Daniel Shane

unread,
Jun 28, 2013, 4:53:58 AM6/28/13
to scmma...@googlegroups.com

Hi Sebastian,

 

Thanks for that. I’ve done a bit of investigation on my end and it appears that the instance of hg that scm kicks off (presumably JavaHg) somehow never looks at any mercurial.ini or .hgrc files, other than the ones directly in the repository. If I add an [extensions] section to the hgrc file in each repository, then I can get this to succeed – but this shouldn’t be necessary if the extension is globally enabled on the server. The same is presumably true of any other Mercurial setting.

 

I hope that helps in the investigation.

 

Dan

Reply all
Reply to author
Forward
0 new messages