使用前缀生成diff

时间:2016-05-07 12:23:45

标签: diff

我有一个不受git控制的文件,我需要为它生成一个补丁。我知道我可以使用diff -Naur file file_new > diff.patch但它会产生类似的东西:

--- file    <timestamp>
+++ file_new    <timestamp>
<diff content>

但我希望得到像git diff这样的东西:

--- a/file <timestamp>
+++ b/file <timestamp>
<diff content>

有没有办法生成这种类型的补丁而不使用git diff并手动编辑它?

1 个答案:

答案 0 :(得分:1)

好的,我在〜/ .zshrc文件中创建了一个简单的函数来完成它。希望这会对某人有所帮助。

diffgit () {
        local dir_a=a/${$(dirname $1)#pwd}
        local dir_b=b/${$(dirname $1)#pwd}
        mkdir -p ./${dir_a} ./${dir_b}
        cp $1 ./${dir_a}
        cp $2 ./${dir_b}/$(basename $1)
        diff -Naur ${dir_a} ${dir_b}
        rm -rf ./{a,b}
}