UE4在MacOS上将Commit.gitdeps.xml设为Git LFS文件的潜在弊端

问题背景

近期 Engine/Build/Commit.gitdeps.xml 添加到Git LFS文件后(操作过程见下文的方法1),出现了一个奇怪的问题------git 拉取后 Engine/Build/Commit.gitdeps.xml 成为3行的LFS指针文件,文件内容如图2,文件大小是133B ,导致后续的 git dependencies 失败,报错如日志3。这个问题只出现在iOS的构建机上。

在.gitattributes 文件中添加如下文本,即可以将 Engine/Build/Commit.gitdeps.xml 置入到LFS文件的行列中了。

Engine/Build/Commit.gitdeps.xml filter=lfs diff=lfs merge=lfs -text

(方法1)

(图2)

Failed to read '/Users/mygame/EngineSource/Engine/Build/Commit.gitdeps.xml': System.InvalidOperationException: There is an error in XML document (1, 1). ---> System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.

(日志3)

真相

最小复现操作指令如图4的1~4 步骤,由于 chmod 777 对 Commit.gitdeps.xml 进行了处理,导致此文件被git status 识别为变更。

(图4)

此时 git reset --hard HEAD ,就会损坏,因为lfs此时被卸载了。损坏后, git dependencies 无法正常工作,于是报错如日志3。

解决方法

下面两个思路中择其一就可以了。

1、把 lfs 安装上,然后 git lfs pull

2、让 该文件 重新恢复( lfs安装上之后 git checkout HEAD -- 该文件),撤销 chmod 的影响。

相关推荐
上山老人20 小时前
UE4布娃娃约束修改
ue4
波诺波21 小时前
最小 SOFA XML 场景结构 0-base.scn
xml·java·前端
夕除3 天前
spring boot 14
xml·spring boot·redis
一拳一个娘娘腔3 天前
【SRC漏洞挖掘系列】第09期:XXE与反序列化 —— 当XML和Java开始“吃”代码
xml·java·安全·web安全·github
Cx330❀3 天前
【Linux网络】从以太网碰撞到 Socket 套接字与网络字节序的深度解析
xml·linux·运维·服务器·开发语言·网络·c++
Yuk丶5 天前
厌倦了假AI对话?用本地大模型给UE注入真智能(已开源!)
c++·人工智能·开源·ue4·游戏程序·ue4客户端开发
缘于自然85 天前
高通modem如何确认device_config.xml的使用路径
xml·modem·mbn·mcfg
emplace_back7 天前
UE 使用UE4PrereqSetup_x64.exe一键安装依赖
ue4
Yuk丶10 天前
LPM的AI 角色三大核心技术实现:长效记忆、人格锁定、低延迟口语化
人工智能·ai·ue4·虚幻·ue4客户端开发
丑八怪大丑10 天前
XML_Tomcat_HTTP
xml·http·tomcat