ser*_*rgo 5 git pipeline production-environment maxscript 3dsmax
我想将git集成到生产管道中以存储3dsmax文件.虽然可以通过TortoiseGit使用git,但我想通过Maxscript与它进行通信,以便为3dsmax添加自定义菜单命令.
我应该解析git status输出文本以确定文件夹状态还是应该使用一些包装工具来正确地与git通信?
我在想,gitsharp因为很容易从Maxscript调用dotNet对象,但我没有使用外部dotNet程序.
从git版本1.7.0开始,就有了一个--porcelain选项git status.输出:
git status --porcelain
Run Code Online (Sandbox Code Playgroud)
...设计用于脚本 - 输出的紧凑表示,其格式在各版本之间保持一致.正如手册页所说:
瓷器格式
瓷器格式类似于短格式,但保证不会在git版本之间或基于用户配置以向后不兼容的方式更改.这使其成为脚本解析的理想选择.上面简短格式的描述也描述了瓷器格式,但有一些例外:
- 用户的color.status配置不受尊重; 颜色永远都会关闭.
- 不尊重用户的status.relativePaths配置; 显示的路径始终相对于存储库根目录.
还有一种备用-z格式建议用于机器解析.在该格式中,状态字段是相同的,但其他一些事情会发生变化.首先,重命名条目中省略了 - >,并且字段顺序颠倒(例如从 - >变为从).其次,NUL(ASCII 0)跟在每个文件名后面,将空格替换为字段分隔符和终止换行符(但空格仍然将状态字段与第一个文件名分开).第三,包含特殊字符的文件名不是特殊格式的; 不执行引用或反斜杠转义.
所以,正如所说,您可能还想考虑使用:
git status -z
Run Code Online (Sandbox Code Playgroud)
...用于更强大的输出格式.
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |