summaryrefslogtreecommitdiff
path: root/test/test_diff.py
diff options
context:
space:
mode:
authorCesar Velazquez <cesar.velazquez@disney.com>2023-01-31 17:59:58 -0800
committerCesar Velazquez <cesar.velazquez@disney.com>2023-01-31 17:59:58 -0800
commit186d75c6ba283fd1bb0647ae94a3a8054197c42b (patch)
tree268d4a150efba23cc9ffaa274774778fa2189f6b /test/test_diff.py
parent6cf3661d6be63b19cd64a18776a2fb575522a9e2 (diff)
downloadgitpython-186d75c6ba283fd1bb0647ae94a3a8054197c42b.tar.gz
Added diff test to disable rename detection
Diffstat (limited to 'test/test_diff.py')
-rw-r--r--test/test_diff.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/test_diff.py b/test/test_diff.py
index 7065f063..16d90209 100644
--- a/test/test_diff.py
+++ b/test/test_diff.py
@@ -411,3 +411,50 @@ class TestDiff(TestBase):
cp = c.parents[0]
diff_index = c.diff(cp, ["does/not/exist"])
self.assertEqual(len(diff_index), 0)
+
+ @with_rw_directory
+ def test_rename_override(self, rw_dir):
+ """Test disabling of diff rename detection"""
+
+ # create and commit file_a.txt
+ repo = Repo.init(rw_dir)
+ file_a = osp.join(rw_dir, "file_a.txt")
+ with open(file_a, "w", encoding='utf-8') as outfile:
+ outfile.write("hello world")
+ repo.git.add(Git.polish_url(file_a))
+ repo.git.commit(message="Added file_a.txt")
+
+ # remove file_a.txt
+ repo.git.rm(Git.polish_url(file_a))
+
+ # create and commit file_b.txt
+ file_b = osp.join(rw_dir, "file_b.txt")
+ with open(file_b, "w", encoding='utf-8') as outfile:
+ outfile.write("hello world")
+ repo.git.add(Git.polish_url(file_b))
+ repo.git.commit(message="Removed file_a.txt. Added file_b.txt")
+
+ commit_a = repo.commit('HEAD')
+ commit_b = repo.commit('HEAD~1')
+
+ # check default diff command with renamed files enabled
+ diffs = commit_b.diff(commit_a)
+ self.assertEqual(1, len(diffs))
+ diff = diffs[0]
+ self.assertEqual(True, diff.renamed_file)
+ self.assertEqual('file_a.txt', diff.rename_from)
+ self.assertEqual('file_b.txt', diff.rename_to)
+
+ # check diff with rename files disabled
+ diffs = commit_b.diff(commit_a, no_renames=True)
+ self.assertEqual(2, len(diffs))
+
+ # check fileA.txt deleted
+ diff = diffs[0]
+ self.assertEqual(True, diff.deleted_file)
+ self.assertEqual('file_a.txt', diff.a_path)
+
+ # check fileB.txt added
+ diff = diffs[1]
+ self.assertEqual(True, diff.new_file)
+ self.assertEqual('file_b.txt', diff.a_path)