【问题标题】:Can 2 sequential diffs be patched to output a 3rd diff that reflects all the changes combined from former 2 diffs?是否可以修补 2 个顺序差异以输出第三个差异,以反映前 2 个差异组合的所有更改?
【发布时间】:2011-03-16 23:11:47
【问题描述】:

给定diff(a,b) & diff(b,c)
有没有办法在不知道 a 或 b 或 c 的情况下找到 diff(a,c)

注意:我在 GNU 中使用 diff 实用程序。

是否有任何现有的解决方案?

提前致谢!

【问题讨论】:

  • 理论上它是两个差异的叠加,但实际上它可能要复杂得多,因为您需要解析文件diff(a,b)diff(b,c)
  • 是的,我相信它在理论上是可能的。我有兴趣找出任何现有的解决方案。

标签: version-control diff


【解决方案1】:

我认为patchutils 包中的combinediff 实用程序正是这样做的。

【讨论】:

  • 该死的。打败我。也看看 interdiff
【解决方案2】:

或者

git checkout HEAD@{0}           # leave the branch
git reset HEAD~3                # unstage last 3 commits
git diff > ~/mypatch

可能开始和结束

git stash
# do funny business
git checkout $originalbranch
git stash pop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多