Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3901d4c

Browse files
authored
Merge pull request#1537 from teknoraver/main
fix files list on file rename
2 parents90c81a5 +c9b44d2 commit3901d4c

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

‎git/objects/commit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,14 +324,14 @@ def stats(self) -> Stats:
324324
325325
:return: git.Stats"""
326326
ifnotself.parents:
327-
text=self.repo.git.diff_tree(self.hexsha,"--",numstat=True,root=True)
327+
text=self.repo.git.diff_tree(self.hexsha,"--",numstat=True,no_renames=True,root=True)
328328
text2=""
329329
forlineintext.splitlines()[1:]:
330330
(insertions,deletions,filename)=line.split("\t")
331331
text2+="%s\t%s\t%s\n"% (insertions,deletions,filename)
332332
text=text2
333333
else:
334-
text=self.repo.git.diff(self.parents[0].hexsha,self.hexsha,"--",numstat=True)
334+
text=self.repo.git.diff(self.parents[0].hexsha,self.hexsha,"--",numstat=True,no_renames=True)
335335
returnStats._list_from_string(self.repo,text)
336336

337337
@property

‎test/test_commit.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,37 @@ def check_entries(d):
159159
self.assertEqual(commit.committer_tz_offset,14400,commit.committer_tz_offset)
160160
self.assertEqual(commit.message,"initial project\n")
161161

162+
deftest_renames(self):
163+
commit=self.rorepo.commit("185d847ec7647fd2642a82d9205fb3d07ea71715")
164+
files=commit.stats.files
165+
166+
# when a file is renamed, the output of git diff is like "dir/{old => new}"
167+
# unless we disable rename with --no-renames, which produces two lines
168+
# one with the old path deletes and another with the new added
169+
self.assertEqual(len(files),2)
170+
171+
defcheck_entries(path,changes):
172+
expected= {
173+
".github/workflows/Future.yml" : {
174+
'insertions':57,
175+
'deletions':0,
176+
'lines':57
177+
},
178+
".github/workflows/test_pytest.yml" : {
179+
'insertions':0,
180+
'deletions':55,
181+
'lines':55
182+
},
183+
}
184+
assertpathinexpected
185+
assertisinstance(changes,dict)
186+
forkeyin ("insertions","deletions","lines"):
187+
assertchanges[key]==expected[path][key]
188+
189+
forpath,changesinfiles.items():
190+
check_entries(path,changes)
191+
# END for each stated file
192+
162193
deftest_unicode_actor(self):
163194
# assure we can parse unicode actors correctly
164195
name="Üäöß ÄußÉ"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp