这个问题在所有扩展都被禁用时是否会发生?:是/否
- VS Code 版本:1.79.2
- OS 版本:RHEL 8
重现步骤:
- 克隆一个带有子模块的仓库
- 更改其中一个子模块的提交
- 尝试使用“放弃更改”按钮在VSCode中还原更改
这确实曾经有效,但现在我在Git日志中看到了这个,但什么都没有发生:
2023-06-22 11:51:36.873 [info] > git ls-tree -l wt -- /path/to/the/submodule[1ms]
2023-06-22 11:51:36.873 [info] fatal: Not a valid object name wt
2条答案
按热度按时间jum4pzuy1#
实际上,我认为
wt
问题与“丢弃更改”按钮无效的事实无关,因为我只是查看子模块更改时才遇到这个错误。按照代码,我不确定它应该如何工作:这里是它尝试获取文件状态的地方。它从
fromGitUri()
获取ref
,然后通过sanitizeRef()
将其发送到getObjectDetails()
。在我们的案例中,
sanitizeRef()
没有做任何显著的事情。getObjectDetails()
调用了lstree(treeish)
。这运行了失败的命令,因为
treeish
是"wt"
。我认为这来自这里:
eanckbw92#
VSCode版本:1.88.1
git版本:2.34.1
[info] > git ls-tree -l wt -- /home/***/dev/Rack/dep/Catch2 [0ms]
[info] fatal: Not a valid object name wt
在添加子模块并运行
git submodule update --init --recursive
后遇到了这个问题