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 的影响。

相关推荐
ly76894 天前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python
欧特克_Glodon7 天前
OpenCV计算机视觉开发入门与实践<十二>:XML 和 YAML 文件读写
xml·c++·opencv·计算机视觉
程序员-珍7 天前
安卓开发:同名 styles.xml 在不同分支/文件夹的合并规则
android·xml·前端
LitchiCheng10 天前
还在改xml调相机?MuJoCo交互式可视化调整相机安装位置
xml·数码相机
richard_yuu10 天前
JSON vs XML vs 二进制:3种序列化终极选型
xml·c++·qt·学习·json
秋田君12 天前
QT_XML文件操作
xml·数据库·qt
数据知道13 天前
XXE 漏洞深度实战:XML 外部实体攻击与 OOB 带外
xml·网络·安全·网络安全
云水一下13 天前
零基础玩转bWAPP靶场(四十七):XSS - Reflected (AJAX/XML)
xml·web安全·ajax·xss·bwapp
爱敲键盘的猴子15 天前
深入理解 Spring IoC -- 基于 XML 的 Bean 配置详解
xml·java·spring
前网易架构师-高司机16 天前
带标注的羽毛球运动员,裁判,羽毛球识别数据集,识别率84.4%,2879张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·羽毛球·裁判