Handle diff of file not yet part of repo

This commit is contained in:
Paul Gauthier 2023-08-18 13:20:27 -07:00
parent 9933ad85b0
commit ae8d04a95f
4 changed files with 58 additions and 4 deletions

View file

@ -135,14 +135,20 @@ class GitRepo:
if not fnames:
fnames = []
diffs = ""
for fname in fnames:
if not self.path_in_repo(fname):
diffs += f"Added {fname}\n"
if current_branch_has_commits:
args = ["HEAD", "--"] + list(fnames)
return self.repo.git.diff(*args)
diffs += self.repo.git.diff(*args)
return diffs
wd_args = ["--"] + list(fnames)
index_args = ["--cached"] + wd_args
diffs = self.repo.git.diff(*index_args)
diffs += self.repo.git.diff(*index_args)
diffs += self.repo.git.diff(*wd_args)
return diffs