8000 Merge pull request #1816 from EliahKagan/refresh-format · Rmattmann501/GitPython@3749037 · GitHub
[go: up one dir, main page]

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

Appearance settings

Commit 3749037

Browse files
author
Sebastian Thiel
authored
Merge pull request gitpython-developers#1816 from EliahKagan/refresh-format
Omit warning prefix in "Bad git executable" message
2 parents db6fb90 + 4b86993 commit 3749037

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

git/cmd.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ def refresh(cls, path: Union[None, PathLike] = None) -> bool:
450450
)
451451

452452
if mode in warn:
453-
_logger.critical("WARNING: %s", err)
453+
_logger.critical(err)
454454
else:
455455
raise ImportError(err)
456456
else:

test/test_git.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -321,17 +321,17 @@ def test_version(self):
321321
self.assertIsInstance(n, int)
322322
# END verify number types
323323

324-
def test_cmd_override(self):
325-
with mock.patch.object(
326-
type(self.git),
327-
"GIT_PYTHON_GIT_EXECUTABLE",
328-
osp.join("some", "path", "which", "doesn't", "exist", "gitbinary"),
329-
):
330-
self.assertRaises(GitCommandNotFound, self.git.version)
331-
332324
def test_git_exc_name_is_git(self):
333325
self.assertEqual(self.git.git_exec_name, "git")
334326

327+
def test_cmd_override(self):
328+
"""Directly set bad GIT_PYTHON_GIT_EXECUTABLE causes git operations to raise."""
329+
bad_path = osp.join("some", "path", "which", "doesn't", "exist", "gitbinary")
330+
with mock.patch.object(Git, "GIT_PYTHON_GIT_EXECUTABLE", bad_path):
331+
with self.assertRaises(GitCommandNotFound) as ctx:
332+
self.git.version()
333+
self.assertEqual(ctx.exception.command, [bad_path, "version"])
334+
335335
@ddt.data(("0",), ("q",), ("quiet",), ("s",), ("silence",), ("silent",), ("n",), ("none",))
336336
def test_initial_refresh_from_bad_git_path_env_quiet(self, case):
337337
"""In "q" mode, bad initial path sets "git" and is quiet."""
@@ -341,7 +341,7 @@ def test_initial_refresh_from_bad_git_path_env_quiet(self, case):
341341
"GIT_PYTHON_REFRESH": mode,
342342
}
343343
with _rollback_refresh():
344-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
344+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
345345

346346
with mock.patch.dict(os.environ, set_vars):
347347
refresh()
@@ -356,14 +356,14 @@ def test_initial_refresh_from_bad_git_path_env_warn(self, case):
356356
"GIT_PYTHON_REFRESH": mode,
357357
}
358358
with _rollback_refresh():
359-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
359+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
360360

361361
with mock.patch.dict(os.environ, env_vars):
362362
with self.assertLogs(cmd.__name__, logging.CRITICAL) as ctx:
363363
refresh()
364364
self.assertEqual(len(ctx.records), 1)
365365
message = ctx.records[0].getMessage()
366-
self.assertRegex(message, r"\AWARNING: Bad git executable.\n")
366+
self.assertRegex(message, r"\ABad git executable.\n")
367367
self.assertEqual(self.git.GIT_PYTHON_GIT_EXECUTABLE, "git")
368368

369369
@ddt.data(("2",), ("r",), ("raise",), ("e",), ("error",))
@@ -375,7 +375,7 @@ def test_initial_refresh_from_bad_git_path_env_error(self, case):
375375
"GIT_PYTHON_REFRESH": mode,
376376
}
377377
with _rollback_refresh():
378-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
378+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
379379

380380
with mock.patch.dict(os.environ, env_vars):
381381
with self.assertRaisesRegex(ImportError, r"\ABad git executable.\n"):
@@ -386,7 +386,7 @@ def test_initial_refresh_from_good_absolute_git_path_env(self):
386386
absolute_path = shutil.which("git")
387387

388388
with _rollback_refresh():
389-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
389+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
390390

391391
with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": absolute_path}):
392392
refresh()
@@ -397,8 +397,8 @@ def test_initial_refresh_from_good_relative_git_path_env(self):
397397
with _rollback_refresh():
398398
# Set the fallback to a string that wouldn't work and isn't "git", so we are
399399
# more likely to detect if "git" is not set from the environment variable.
400-
with mock.patch.object(type(self.git), "git_exec_name", ""):
401-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
400+
with mock.patch.object(Git, "git_exec_name", ""):
401+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
402402

403403
# Now observe if setting the environment variable to "git" takes effect.
404404
with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": "git"}):
@@ -442,7 +442,7 @@ def test_refresh_from_good_relative_git_path_env(self):
442442
"""Good relative path from environment is kept relative and set."""
443443
with _rollback_refresh():
444444
# Set as the executable name a string that wouldn't work and isn't "git".
445-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = ""
445+
Git.GIT_PYTHON_GIT_EXECUTABLE = ""
446446

447447
# Now observe if setting the environment variable to "git" takes effect.
448448
with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": "git"}):

test/test_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def _decode(stdout):
174174
except UnicodeDecodeError:
175175
pass
176176
except LookupError as error:
177-
_logger.warning("%s", str(error)) # Message already says "Unknown encoding:".
177+
_logger.warning(str(error)) # Message already says "Unknown encoding:".
178178

179179
# Assume UTF-8. If invalid, substitute Unicode replacement characters.
180180
return stdout.decode("utf-8", errors="replace")

0 commit comments

Comments
 (0)
0