Skip to content

Commit

Permalink
Merge pull request #1789 from EliahKagan/return
Browse files Browse the repository at this point in the history
Fix mypy warning "Missing return statement"
  • Loading branch information
Byron authored Dec 26, 2023
2 parents b2c46f7 + e194d46 commit 32c02d1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
20 changes: 9 additions & 11 deletions git/index/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -381,23 +381,21 @@ def from_tree(cls, repo: "Repo", *treeish: Treeish, **kwargs: Any) -> "IndexFile
arg_list.append("--aggressive")
# END merge handling

# tmp file created in git home directory to be sure renaming
# works - /tmp/ dirs could be on another device.
with contextlib.ExitStack() as stack:
tmp_index = stack.enter_context(_named_temporary_file_for_subprocess(repo.git_dir))
# Create the temporary file in the .git directory to be sure renaming
# works - /tmp/ directories could be on another device.
with _named_temporary_file_for_subprocess(repo.git_dir) as tmp_index:
arg_list.append("--index-output=%s" % tmp_index)
arg_list.extend(treeish)

# Move current index out of the way - otherwise the merge may fail
# Move the current index out of the way - otherwise the merge may fail
# as it considers existing entries. Moving it essentially clears the index.
# Unfortunately there is no 'soft' way to do it.
# The TemporaryFileSwap ensures the original file gets put back.

stack.enter_context(TemporaryFileSwap(join_path_native(repo.git_dir, "index")))
repo.git.read_tree(*arg_list, **kwargs)
index = cls(repo, tmp_index)
index.entries # Force it to read the file as we will delete the temp-file.
return index
with TemporaryFileSwap(join_path_native(repo.git_dir, "index")):
repo.git.read_tree(*arg_list, **kwargs)
index = cls(repo, tmp_index)
index.entries # Force it to read the file as we will delete the temp-file.
return index
# END index merge handling

# UTILITIES
Expand Down
4 changes: 2 additions & 2 deletions git/index/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from typing import Any, Callable, TYPE_CHECKING, Optional, Type

from git.types import PathLike, _T
from git.types import Literal, PathLike, _T

if TYPE_CHECKING:
from git.index import IndexFile
Expand Down Expand Up @@ -55,7 +55,7 @@ def __exit__(
exc_type: Optional[Type[BaseException]],
exc_val: Optional[BaseException],
exc_tb: Optional[TracebackType],
) -> bool:
) -> Literal[False]:
if osp.isfile(self.tmp_file_path):
os.replace(self.tmp_file_path, self.file_path)
return False
Expand Down

0 comments on commit 32c02d1

Please sign in to comment.