如果我试图找到两个差异之间的差异,为什么我只能diff
两个差异?
我测试了
diff diff1 diff2
和interdiff diff1 diff2
,但未发现输出有任何差异。在什么情况下它们会有所不同?
(我完全清楚interdiff的声明目的是找到两个补丁之间的变化。)
答案 0 :(得分:1)
为什么要使用interdiff而不仅仅是简单地比较两个补丁?
interdiff告诉您是否在第一个补丁中添加了在第二个补丁中删除的行,并且类似地,是否在第一个补丁中删除了在第二个补丁中添加的行。仅仅将两个提交区分开来并不能提供此信息,从而迫使审阅者查阅原始补丁或当前来源来确定是否是这种情况。
答案 1 :(得分:-2)
interdiff创建一个统一的格式差异,表示两个差异之间的差异 差异必须都是相对于相同的文件 为获得最佳结果,差异必须至少有三行上下文。
interdiff
是补丁格式的文本文件,用于描述补丁的两个版本之间的更改。使用interdiff
s是最佳做法,通过允许他们专注于修补程序迭代中引入的更改,可以节省时间并减少审阅者的乏味。
每当您更新问题队列中的重要补丁时,您应该提供一个(Drupal.org Testbots会忽略它,因此请确保您始终上传完整补丁)。
//Always pull the latest changes.
git pull --rebase
//Create a branch for the old patch.
git checkout -b my_first_branch
// Download the old version of the patch you wish
// to update and apply it to your local git repository.
git apply --index patchname.patch
// Commit the changes from the old patch.
git commit -m "my_first_branch"
// Depending on how you like to work, you now have a choice between
// two options. If you do not yet have a new patch created, you can now
// create a new branch.
git checkout -b my_second_branch
// Otherwise, let's go back to the mainline branch and create a
// new branch to patch from.
git checkout any_reuired_commit_id
git checkout -b my_second_branch
// Make your changes on the new branch (e.g. apply your new patch),
// then commit the changes.
git commit -m "my_second_branch"
// Generate the interdiff by comparing the current (new) branch against
// the old branch.
git diff my_first_branch > interdiff-my_first_branch-[new_comment_number].txt
// You can create the updated patch easily at this point with:
git diff any_reuired_commit_id > my_second_branch.patch