Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jgit-dev] JGit 3.5.0 fails to create bare repo on Windows

I'm one of the maintainers of the Jenkins git plugin and the Jenkins git client plugin.  Those two plugins use JGit as a user selectable git implementation.

I updated the git client plugin dependency from JGit 3.4.1 to JGit 3.5.0.  When I run the git client tests on Windows machines, several of the tests fail with the message:

Hiding only allowed for names that start with a period

java.lang.IllegalArgumentException: Hiding only allowed for names that start with a period
	at org.eclipse.jgit.util.FS.setHidden(FS.java:599)
	at org.eclipse.jgit.internal.storage.file.FileRepository.create(FileRepository.java:277)
	at org.eclipse.jgit.api.InitCommand.call(InitCommand.java:92)
	at org.jenkinsci.plugins.gitclient.JGitAPIImpl.doInit(JGitAPIImpl.java:158)
	at org.jenkinsci.plugins.gitclient.JGitAPIImpl.access$600(JGitAPIImpl.java:97)
	at org.jenkinsci.plugins.gitclient.JGitAPIImpl$7.execute(JGitAPIImpl.java:1161)
	at org.jenkinsci.plugins.gitclient.GitAPITestCase$WorkingArea.init(GitAPITestCase.java:175)
	at org.jenkinsci.plugins.gitclient.GitAPITestCase.test_bare_repo_init(GitAPITestCase.java:2750)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jenkinsci.plugins.gitclient.JGitAPIImplTest.runTest(JGitAPIImplTest.java:36)

The message happens for ~12 of the 350+ tests of the git client plugin.  The problem appears to happen consistently for those cases where the Jenkins git client plugin tests are attempting to use JGit to create a bare repository on a Windows system.

The problem happens on Windows x86 and Windows x64, both Windows 7 and Windows 8.

The problem does not happen on Debian Wheezy x64, Debian Wheezy x86, Debian Jessie x64, or CentOS 7 x64.

Creating bare repositories is not a "core feature" of the Jenkins git client plugin, so if necessary, we could adapt our JGit tests to always use command line git when creating bare repositories on Windows.

We'll delay switching our dependency from JGit 3.4.1 to JGit 3.5.0 until we hear further.

-- 
Thanks!
Mark Waite

Back to the top