10

我有一个包含子模块的 git 项目。该子模块用于两个存储库中,这两个存储库都在 Teamcity 服务器上构建。Teamcity 能够构建第一个项目,但第二个项目出现以下错误(已引用详细信息以保护有罪者)

为 VCS 存储库“TirePlotter”收集更改时出错收集更改失败:org.eclipse.jgit.errors.CorruptObjectException:对象“git hash here”已损坏:“git fetch”命令失败。标准错误:“项目子模块名称 url”:“项目子模块名称 url”/info/refs?service=git-upload-pack 未找到 «隐藏堆栈跟踪 jetbrains.buildServer.vcs.VcsException:收集 VCS 存储库“TirePlotter”的更改时出错收集更改失败:org.eclipse.jgit.errors.CorruptObjectException:对象“git hash here”已损坏:“git fetch”命令失败。标准错误:“项目子模块名称 url”:“项目子模块名称 url”/info/refs?service=git-upload-pack 在 jetbrains.buildServer.buildTriggers.vcs.git.OperationContext 找不到。VcsModificationChecker$1.run(VcsModificationChecker.java:11) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent。 FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source )引起:org.eclipse.jgit.errors.CorruptObjectException:对象'Git hash here'已损坏:'git fetch'命令失败。标准错误:“项目子模块名称 url”:“项目子模块名称 url”/info/refs?service=git-upload-pack 在 jetbrains.buildServer.buildTriggers.vcs.git.submodules.SubmoduleAwareTreeIterator.movedToEntry(SubmoduleAwareTreeIterator.java: 还有 21 个原因:jetbrains.buildServer.vcs.VcsException: 'git fetch' 命令失败。标准错误:'项目子模块名称 url':'项目子模块名称 url'/info/refs?service=git-upload-pack 在 jetbrains.buildServer.buildTriggers.vcs.git.CommandLineUtil.getCommandLineError(CommandLineUtil.java:44) 找不到在 jetbrains.buildServer.buildTriggers.vcs.git.FetchCommandImpl.fetchInSeparateProcess(FetchCommandImpl.java:132) 在 jetbrains.buildServer.buildTriggers.vcs.git.FetchCommandImpl.fetch(FetchCommandImpl.java:70) 在 jetbrains.buildServer.buildTriggers.vcs .git.GitVcsSupport.fetch(GitVcsSupport.java:716) at jetbrains.buildServer.buildTriggers.vcs.git.submodules.TeamCitySubmoduleResolver.fetch(TeamCitySubmoduleResolver.java:79) at jetbrains.buildServer.buildTriggers.vcs.git.submodules.SubmoduleResolver . getSubmoduleCommit(SubmoduleResolver.java:76) at jetbrains.buildServer.buildTriggers.vcs.git.submodules.SubmoduleAwareTreeIterator.getSubmoduleCommit(SubmoduleAwareTreeIterator.java:224) at jetbrains.buildServer.buildTriggers.vcs.git.submodules.SubmoduleAwareTreeIterator.movedToEntry(SubmoduleAwareTreeIterator.getSubmoduleCommit(SubmoduleAwareTreeIterator.java:224) java:174) ... 29 更多 org.eclipse.jgit.errors.CorruptObjectException:对象 'git hash here' 已损坏:'git fetch' 命令失败。标准错误:“项目子模块名称 url”:“项目子模块名称 url”/info/refs?service=git-upload-pack 在 jetbrains.buildServer.buildTriggers.vcs.git.submodules.SubmoduleAwareTreeIterator.movedToEntry(SubmoduleAwareTreeIterator.java: 187) 在 jetbrains.buildServer.buildTriggers.vcs.git.submodules.DirectSubmoduleAwareTreeIterator。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) run(Unknown Source) Caused作者:jetbrains.buildServer.vcs.VcsException:“git fetch”命令失败。标准错误:https://engdeveloper@github.com/rcrenterprises/RCR.Simulationhttps://engdeveloper@github.com/rcrenterprises/RCR.Simulation/info/refs?service=git-upload-packbuildTriggers.vcs.git.submodules.SubmoduleAwareTreeIterator.movedToEntry(SubmoduleAwareTreeIterator.java:174) ... 还有 29 个 jetbrains.buildServer.vcs.VcsException: 'git fetch' 命令失败。标准错误:'项目子模块名称 url':'项目子模块名称 url'/info/refs?service=git-upload-pack 在 jetbrains.buildServer.buildTriggers.vcs.git.CommandLineUtil.getCommandLineError(CommandLineUtil.java:44) 找不到在 jetbrains.buildServer.buildTriggers.vcs.git.FetchCommandImpl.fetchInSeparateProcess(FetchCommandImpl.java:132) 在 jetbrains.buildServer.buildTriggers.vcs.git.FetchCommandImpl.fetch(FetchCommandImpl.java:70) 在 jetbrains.buildServer.buildTriggers.vcs .git.GitVcsSupport.fetch(GitVcsSupport.java:716) 在 jetbrains.buildServer.buildTriggers.vcs.git.submodules.TeamCitySubmoduleResolver。

我试图用一个干净的目录重建它,并验证了 git 存储库是好的。有没有人对如何解决这个问题有任何想法?旁注:如果对任何人有帮助,存储库就在 github 上。

4

3 回答 3

10

我刚刚遇到了同样的问题——在我的例子中,我们将 TeamCity 配置为在签出 Github 存储库时使用 HTTPS 和用户名/密码身份验证,但是 .gitmodules 文件包含git@github.com:MyCompany/Submodule.git子模块存储库的 SSH URL ( )。

.gitmodules我通过编辑URL 并将其更改为https://github.com/MyCompany/Submodule.git来修复它。

于 2015-03-09T13:48:16.713 回答
2

尝试添加.git到您的子模块链接:https://engdeveloper@github.com/rcrenterprises/RCR.Simulation.git而不是https://engdeveloper@github.com/rcrenterprises/RCR.Simulation.

于 2013-01-02T05:15:45.447 回答
1

子树合并后我们有同样的问题: : VCS Root: DPPDev: Commit 'c77771ccd2f5b23aae5eafc3d4bf4cb6e6d6fec4' is not found in repository.

为修复添加了“空”提交 - 然后成功

于 2016-04-04T09:54:52.137 回答