[issue3155] Largefiles extension causes clone on Jenkins to fail

David M. Carr david at carrclan.us
Sat Dec 17 11:36:12 CST 2011


On Thu, Dec 15, 2011 at 8:30 AM, Tim Scott <bugs at mercurial.selenic.com> wrote:
>
> New submission from Tim Scott <tescott425 at gmail.com>:
>
> We've got a Jenkins server running on a Windows x64 platform that clones
> the workspace. This was working fine until we added the largefiles
> extension and performed a "hg lfconvert" on the repo. If we log into the
> Jenkins server and clone from the command line manually, things work fine.
> However, when the Jenkins service tries to clone, we get the error below.
>
> Any ideas?  I'm in the process of examining the differences between the
> command-line environment and the Jenkins environment.  I'm hoping that's
> the source of the issue and I can put in a workaround of some sort there.
>
> Thanks!
>
> C:\jenkins\.jenkins\jobs\pb1btest2\workspace>hg clone --rev default
> http://wphjbialas11:8000/GSX_Server_Share_PB1B/
> C:\jenkins\.jenkins\jobs\pb1btest2\workspace
> adding changesets
> adding manifests
> adding file changes
> added 30 changesets with 3801 changes to 2826 files
> updating to branch default
> 2800 files updated, 0 files merged, 0 files removed, 0 files unresolved
> getting changed largefiles
> ** unknown exception encountered, please report by visiting
> **  http://mercurial.selenic.com/wiki/BugTracker
> ** Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit
> (AMD64)]
> ** Mercurial Distributed SCM (version 2.0.1)
> ** Extensions loaded: largefiles
> Traceback (most recent call last):
>  File "hg", line 42, in <module>
>  File "mercurial\dispatch.pyo", line 27, in run
>  File "mercurial\dispatch.pyo", line 64, in dispatch
>  File "mercurial\dispatch.pyo", line 87, in _runcatch
>  File "mercurial\dispatch.pyo", line 684, in _dispatch
>  File "mercurial\dispatch.pyo", line 466, in runcommand
>  File "mercurial\dispatch.pyo", line 738, in _runcommand
>  File "mercurial\dispatch.pyo", line 692, in checkargs
>  File "mercurial\dispatch.pyo", line 681, in <lambda>
>  File "mercurial\util.pyo", line 455, in check
>  File "mercurial\commands.pyo", line 1137, in clone
>  File "mercurial\hg.pyo", line 382, in clone
>  File "mercurial\extensions.pyo", line 184, in wrap
>  File "hgext\largefiles\overrides.pyo", line 511, in hg_update
>  File "hgext\largefiles\lfcommands.pyo", line 401, in updatelfiles
>  File "hgext\largefiles\lfcommands.pyo", line 378, in cachelfiles
>  File "hgext\largefiles\lfutil.pyo", line 114, in findfile
>  File "hgext\largefiles\lfutil.pyo", line 109, in inusercache
>  File "hgext\largefiles\lfutil.pyo", line 94, in usercachepath
>  File "ntpath.pyo", line 97, in join
> TypeError: 'NoneType' object is unsubscriptable
>
> C:\jenkins\.jenkins\jobs\pb1btest2\workspace>exit 255
> Build step 'Execute Windows batch command' marked build as failure
> Finished: FAILURE
>
> ----------
> messages: 18312
> nosy: tescott
> priority: critical
> status: unread
> title: Largefiles extension causes clone on Jenkins to fail
>
> ____________________________________________________
> Mercurial issue tracker <bugs at mercurial.selenic.com>
> <http://mercurial.selenic.com/bts/issue3155>
> ____________________________________________________
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

Any chance that you have the largefiles extension enabled in ~/.hgrc,
but Jenkins runs as a different user, and doesn't have the extension
enabled?  The Jenkins plugin for Mercurial doesn't currently have any
special logic to support the largefiles extension (though that seems
like a reasonable feature request to submit to the Jenkins project),
so any config needed to enable it needs to happen at the user or
system level files.

-- 
David M. Carr
david at carrclan.us


More information about the Mercurial-devel mailing list