【发布时间】:2016-02-26 14:31:13
【问题描述】:
我知道我朋友的一些ChangeList。我想将此 CL 编号传递给 Bash 脚本,该脚本将为 patch 程序生成一个读取差异文件(它将在 git repo 中重新创建更改)。
到目前为止,我有这个:
function p4_shelved_cl_to_diff()
{
p4 describe -S -du $1 > p4_diff.patch
}
它会生成差异,但标头是 p4 格式:
==== //p4_repo/dir_in_repo/dir/file.cpp#123 (text) ===
而他们应该在
--- dir/file.cpp
+++ dir/file.cpp
所以我正在寻找的是一种特殊的 p4 语法(广泛搜索,检查了 p4 手册——希望渺茫)或者而是一个 sed/awk/任何可以为我做改变的脚本。
有什么想法,或者也许有人已经写好了?
【问题讨论】:
-
试试这个答案中的建议来转换那些文件头:stackoverflow.com/a/8289560/193453
-
还有这个类似的答案:stackoverflow.com/a/13609062/193453
-
谢谢。第二个更接近我正在寻找的内容,但该 sed 表达式不起作用。似乎 Benjamin W 有工作版本。
标签: git sed diff perforce patch