diff.py 544 B

1234567891011121314151617181920
  1. #!/usr/bin/python
  2. # This trivial script demonstrates how to extract the unified diff for a single
  3. # commit in a local repository.
  4. #
  5. # Example usage:
  6. # python examples/diff.py
  7. from dulwich.repo import Repo
  8. from dulwich.patch import write_tree_diff
  9. import sys
  10. repo_path = "."
  11. commit_id = b"a6602654997420bcfd0bee2a0563d9416afe34b4"
  12. r = Repo(repo_path)
  13. commit = r[commit_id]
  14. parent_commit = r[commit.parents[0]]
  15. outstream = getattr(sys.stdout, 'buffer', sys.stdout)
  16. write_tree_diff(outstream, r.object_store, parent_commit.tree, commit.tree)