I'm trying to migrate an origin SVN repository to a newly one created on GitHub by using subgit tool. As a first step according to the documentaton is to make a configuration. I do it this way.
D:\subgit\bin\subgit configure --svn-url https://xxx.yyy.zzz.com/svn/folder/subfolder/repo/trunk
It fails with following error
SubGit version 3.3.8 ('Bobique') build #4337
Configuring writable Git mirror of remote Subversion repository:
Subversion repository URL : https://xxx.yyy.zzz.com/svn/folder/subfolder/repo/trunk
Git repository location : trunk.git
CONFIGURATION FAILED
error: <null>
error: Unexpected error has occurred; please report along with the logs ('C:\WINDOWS\system32\subgit-configure-20191119-101004.zip')
error: to http://issues.tmatesoft.com/, thank you!
Log file looks like this
[2019-11-19 10:10:04.488][subgit-configure][1] Initialized memory cache logger.
[2019-11-19 10:10:04.492][subgit-configure][1] SubGit version 3.3.8 ('Bobique') build #4337
[2019-11-19 10:10:04.492][subgit-configure][1] Registered cancel hook.
[2019-11-19 10:10:04.518][subgit-configure][1] Command name: configure
[2019-11-19 10:10:04.518][subgit-configure][1] Command argument: --svn-url
[2019-11-19 10:10:04.518][subgit-configure][1] Command argument: https://xxx.yyy.zzz.com/svn/folder/subfolder/repo/trunk
[2019-11-19 10:10:04.536][subgit-configure][1] Initialized file logger, level: ALL, logs directory is: 'null'.
[2019-11-19 10:10:04.536][subgit-configure][1] SubGit version 3.3.8 ('Bobique') build #4337
[2019-11-19 10:10:04.537][subgit-configure][1] System properties:
java.runtime.name : Java(TM) SE Runtime Environment
sun.boot.library.path : C:\Program Files\Java\jre8u162\bin
java.vm.version : 25.162-b34
java.vm.vendor : Oracle Corporation
java.vendor.url : http://java.oracle.com/
path.separator : ;
java.util.logging.config.file : D:\subgit\bin\..\conf\logging.properties
java.vm.name : Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg : sun.io
user.country : US
user.script :
sun.java.launcher : SUN_STANDARD
sun.os.patch.level :
jna.nosys : true
java.vm.specification.name : Java Virtual Machine Specification
user.dir : C:\WINDOWS\system32
java.runtime.version : 1.8.0_162-b34
java.awt.graphicsenv : sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs : C:\Program Files\Java\jre8u162\lib\endorsed
os.arch : amd64
java.io.tmpdir : C:\Users\user\AppData\Local\Temp\
line.separator :
java.vm.specification.vendor : Oracle Corporation
user.variant :
os.name : Windows 10
sun.jnu.encoding : Cp1250
svnkit.http.methods : Digest,Basic,NTLM,Negotiate
java.library.path : C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Riverbed\Steelhead Mobile\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\Program Files\WinMerge;C:\Program Files\Microsoft VS Code\bin;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files\dotnet\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Plantronics\Spokes3G\;C:\Program Files\Symfony;C:\php7;;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Users\user\AppData\Local\GitHubDesktop\bin;C:\Users\user\AppData\Local\Microsoft\WindowsApps;.
java.specification.name : Java Platform API Specification
java.class.version : 52.0
sun.management.compiler : HotSpot 64-Bit Tiered Compilers
sun.io.useCanonCaches : false
os.version : 10.0
user.home : C:\Users\user
user.timezone : Europe/Prague
java.awt.printerjob : sun.awt.windows.WPrinterJob
file.encoding : Cp1250
java.specification.version : 1.8
java.class.path : D:\subgit\bin\..\lib\jansi-1.6.jar;D:\subgit\bin\..\lib\slf4j-nop-1.7.12.jar;D:\subgit\bin\..\lib\unirest-java-1.3.0.jar;D:\subgit\bin\..\lib\jetty-server-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\jetty-servlet-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\jersey-server-2.27.jar;D:\subgit\bin\..\lib\jersey-hk2-2.27.jar;D:\subgit\bin\..\lib\jersey-container-jetty-servlet-2.27.jar;D:\subgit\bin\..\lib\jersey-media-json-jackson-2.27.jar;D:\subgit\bin\..\lib\svnkit-1.10.2-snapshot20190916173804.jar;D:\subgit\bin\..\lib\org.eclipse.jgit-5.0.5-sgk.jar;D:\subgit\bin\..\lib\annotations-7.0.3.jar;D:\subgit\bin\..\lib\slf4j-api-1.7.12.jar;D:\subgit\bin\..\lib\httpclient-4.3.jar;D:\subgit\bin\..\lib\httpasyncclient-4.0-beta4.jar;D:\subgit\bin\..\lib\httpmime-4.3.jar;D:\subgit\bin\..\lib\json-20090211.jar;D:\subgit\bin\..\lib\javax.servlet-api-3.1.0.jar;D:\subgit\bin\..\lib\jetty-http-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\jetty-io-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\jetty-security-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\jersey-common-2.27.jar;D:\subgit\bin\..\lib\jersey-client-2.27.jar;D:\subgit\bin\..\lib\javax.ws.rs-api-2.1.jar;D:\subgit\bin\..\lib\jersey-media-jaxb-2.27.jar;D:\subgit\bin\..\lib\javax.annotation-api-1.2.jar;D:\subgit\bin\..\lib\javax.inject-2.5.0-b42.jar;D:\subgit\bin\..\lib\validation-api-1.1.0.Final.jar;D:\subgit\bin\..\lib\hk2-locator-2.5.0-b42.jar;D:\subgit\bin\..\lib\jersey-container-servlet-2.27.jar;D:\subgit\bin\..\lib\jersey-container-jetty-http-2.27.jar;D:\subgit\bin\..\lib\jetty-webapp-9.4.7.v20170914.jar;D:\subgit\bin\..\lib\jersey-entity-filtering-2.27.jar;D:\subgit\bin\..\lib\jackson-annotations-2.8.10.jar;D:\subgit\bin\..\lib\jackson-databind-2.8.10.jar;D:\subgit\bin\..\lib\jackson-module-jaxb-annotations-2.8.10.jar;D:\subgit\bin\..\lib\sequence-library-1.0.4.jar;D:\subgit\bin\..\lib\sqljet-1.1.12.jar;D:\subgit\bin\..\lib\jna-4.1.0.jar;D:\subgit\bin\..\lib\jna-platform-4.1.0.jar;D:\subgit\bin\..\lib\trilead-ssh2-1.0.0-build222.jar;D:\subgit\bin\..\lib\jsch.agentproxy.connector-factory-0.0.7.jar;D:\subgit\bin\..\lib\jsch.agentproxy.svnkit-trilead-ssh2-0.0.7.jar;D:\subgit\bin\..\lib\lz4-java-1.4.1.jar;D:\subgit\bin\..\lib\jsch-0.1.54.jar;D:\subgit\bin\..\lib\JavaEWAH-1.1.6.jar;D:\subgit\bin\..\lib\bcpg-jdk15on-1.62.jar;D:\subgit\bin\..\lib\bcprov-jdk15on-1.62.jar;D:\subgit\bin\..\lib\bcpkix-jdk15on-1.62.jar;D:\subgit\bin\..\lib\httpcore-4.3.jar;D:\subgit\bin\..\lib\commons-logging-1.1.3.jar;D:\subgit\bin\..\lib\commons-codec-1.6.jar;D:\subgit\bin\..\lib\httpcore-nio-4.3-beta2.jar;D:\subgit\bin\..\lib\jetty-util-9.4.11.v20180605.jar;D:\subgit\bin\..\lib\osgi-resource-locator-1.0.1.jar;D:\subgit\bin\..\lib\aopalliance-repackaged-2.5.0-b42.jar;D:\subgit\bin\..\lib\hk2-api-2.5.0-b42.jar;D:\subgit\bin\..\lib\hk2-utils-2.5.0-b42.jar;D:\subgit\bin\..\lib\javassist-3.22.0-CR2.jar;D:\subgit\bin\..\lib\jersey-container-servlet-core-2.27.jar;D:\subgit\bin\..\lib\jetty-continuation-9.4.7.v20170914.jar;D:\subgit\bin\..\lib\jetty-xml-9.4.7.v20170914.jar;D:\subgit\bin\..\lib\jackson-core-2.8.10.jar;D:\subgit\bin\..\lib\antlr-runtime-3.4.jar;D:\subgit\bin\..\lib\jsch.agentproxy.core-0.0.7.jar;D:\subgit\bin\..\lib\jsch.agentproxy.usocket-jna-0.0.7.jar;D:\subgit\bin\..\lib\jsch.agentproxy.usocket-nc-0.0.7.jar;D:\subgit\bin\..\lib\jsch.agentproxy.sshagent-0.0.7.jar;D:\subgit\bin\..\lib\jsch.agentproxy.pageant-0.0.7.jar;D:\subgit\bin\..\lib\javax.inject-1.jar;D:\subgit\bin\..\lib\translator-3.3.8.jar;D:\subgit\bin\..\lib\svngitkit-2.3.2-snapshot20190916210000.jar
user.name : user
java.vm.specification.version : 1.8
sun.java.command : org.tmatesoft.translator.SubGit configure --svn-url https://xxx.yyy.zzz.com/svn/folder/subfolder/repo/trunk
java.home : C:\Program Files\Java\jre8u162
sun.arch.data.model : 64
user.language : en
java.specification.vendor : Oracle Corporation
awt.toolkit : sun.awt.windows.WToolkit
java.vm.info : mixed mode
java.version : 1.8.0_162
java.ext.dirs : C:\Program Files\Java\jre8u162\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path : C:\Program Files\Java\jre8u162\lib\resources.jar;C:\Program Files\Java\jre8u162\lib\rt.jar;C:\Program Files\Java\jre8u162\lib\sunrsasign.jar;C:\Program Files\Java\jre8u162\lib\jsse.jar;C:\Program Files\Java\jre8u162\lib\jce.jar;C:\Program Files\Java\jre8u162\lib\charsets.jar;C:\Program Files\Java\jre8u162\lib\jfr.jar;C:\Program Files\Java\jre8u162\classes
java.awt.headless : true
java.vendor : Oracle Corporation
sun.stderr.encoding : cp852
file.separator : \
java.vendor.url.bug : http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding : UnicodeLittle
sun.cpu.endian : little
sun.stdout.encoding : cp852
sun.desktop : windows
sun.cpu.isalist : amd64
[2019-11-19 10:10:04.885][subgit-configure][1] <null>
org.tmatesoft.translator.util.f: <null>
at org.tmatesoft.translator.util.f.c(SourceFile:109)
at org.tmatesoft.translator.util.f.b(SourceFile:75)
at org.tmatesoft.translator.a.w.e(SourceFile:155)
at org.tmatesoft.translator.a.w.b(SourceFile:122)
at org.tmatesoft.translator.a.t.c(SourceFile:23)
at org.tmatesoft.translator.b.a(SourceFile:193)
at org.tmatesoft.translator.b.a(SourceFile:144)
at org.tmatesoft.translator.b.a(SourceFile:54)
at org.tmatesoft.translator.process.f.d(SourceFile:136)
at org.tmatesoft.translator.process.f.c(SourceFile:106)
at org.tmatesoft.translator.b.a(SourceFile:79)
at org.tmatesoft.translator.b.a(SourceFile:70)
at org.tmatesoft.translator.SubGit.main(SourceFile:10)
Caused by: java.lang.NullPointerException
at org.eclipse.jgit.util.FS$FileStoreAttributeCache.getFsTimestampResolution(FS.java:205)
at org.eclipse.jgit.util.FS.getFsTimerResolution(FS.java:325)
at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:186)
at org.eclipse.jgit.internal.storage.file.FileSnapshot.save(FileSnapshot.java:122)
at org.eclipse.jgit.storage.file.FileBasedConfig.load(FileBasedConfig.java:159)
at org.eclipse.jgit.internal.storage.file.FileRepository.loadUserConfig(FileRepository.java:261)
at org.eclipse.jgit.internal.storage.file.FileRepository.<init>(FileRepository.java:197)
at org.eclipse.jgit.lib.RepositoryCache$FileKey.getGitRepository(RepositoryCache.java:519)
at org.eclipse.jgit.lib.RepositoryCache$FileKey.isGitRepository(RepositoryCache.java:500)
at org.tmatesoft.translator.k.O.a(SourceFile:72)
at org.tmatesoft.translator.k.O.a(SourceFile:30)
at org.tmatesoft.translator.a.w.a(SourceFile:88)
at org.tmatesoft.translator.a.w.a(SourceFile:79)
at org.tmatesoft.translator.a.w.e(SourceFile:132)
... 10 more
I have no clue why that exception was thrown. Maybe due to this message from log file?
Initialized file logger, level: ALL, logs directory is: 'null'.
I have a "read permission" for repository what I want to migrate, so I guess it should be sufficient, isn't it?
The problem is caused by this bug in JGit. The problem is fixed in SubGit 3.3.9 which includes newer JGit version.
I'm one of SubGit developers.