Subgit 在配置过程中出现意外错误

Subgit unexpected error has occured during configuration

我正在尝试使用 subgit 工具将原始 SVN 存储库迁移到在 GitHub 上创建的新存储库。根据文档,第一步是进行配置。我是这样做的。

D:\subgit\bin\subgit configure --svn-url https://xxx.yyy.zzz.com/svn/folder/subfolder/repo/trunk

失败并出现以下错误

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!

日志文件如下所示

[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.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server0\Tools\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\;C:\Program Files\WinMerge;C:\Program Files\Microsoft VS Code\bin;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\;C:\Program Files\dotnet\;C:\Program Files (x86)\Windows Kits\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

我不知道为什么会抛出该异常。可能是由于日志文件中的这条消息?

Initialized file logger, level: ALL, logs directory is: 'null'.

我有一个 "read permission" 用于要迁移的存储库,所以我想它应该足够了,不是吗?

问题是由JGit中的this bug引起的。该问题已在包含更新的 JGit 版本的 SubGit 3.3.9 中修复。

我是 SubGit 开发人员之一。