如何应用差异或补丁文件?

时间:2017-07-07 22:32:15

标签: ruby git patch rugged

当使用坚固的git库时,如何将diff作为提交应用于我的dest分支?。

  # @param src [Rugged::Object] - the rugged object or string to compare from
  # @param dst [Rugged::Object] - the rugged object or string to compare to, defaults to parent
  # @return [Rugged::Diff] a rugged diff object between src and dst
  def create_diff(src, dst = nil)
    src = repo.lookup(find_ref(src))
    dst ||= repo.lookup(src.parents.first)
    dst = find_ref(dst)
    src.diff(dst)
  end

  # @param sha_or_ref [String] - the name or sha of the ref
  # @return [String] the oid of the sha or ref
  def find_ref(sha_or_ref)
    case sha_or_ref
      when Rugged::Object
        sha_or_ref.oid
      else
        repo.rev_parse_oid(sha_or_ref)
    end
  end

是否有一种简单的方法来应用补丁或差异?看起来很傻,我需要遍历diff中的每个更改并添加/ rm文件。

1 个答案:

答案 0 :(得分:0)

考虑到:

您必须等待该功能以坚固的方式移植 最后official release v0.24.0不包括0.24.4。