Skip to content

Deprecate default of Git.show(strip_newline_in_stdout=False) #1948

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

SonOfLilit
Copy link

As per our discussion in #1377.

Also fix a few tests that were broken by my git being configured to create new repos with main as the initial branch, so that all my tests pass.

Copy link
Member

@Byron Byron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for contributing.

I think with a few minor modifications this PR can be merged.

@@ -1210,6 +1210,14 @@ def execute(
if self.GIT_PYTHON_TRACE and (self.GIT_PYTHON_TRACE != "full" or as_process):
_logger.info(" ".join(redacted_command))

if strip_newline_in_stdout and command[:2] == ["git", "show"]:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"git" shouldn't be hard-coded, and I am pretty sure there is a variable for this somewhere.

@@ -1210,6 +1210,14 @@ def execute(
if self.GIT_PYTHON_TRACE and (self.GIT_PYTHON_TRACE != "full" or as_process):
_logger.info(" ".join(redacted_command))

if strip_newline_in_stdout and command[:2] == ["git", "show"]:
warnings.warn(
"Git.show() has strip_newline_in_stdout=True by default, which probably isn't what you want and will "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"Git.show() has strip_newline_in_stdout=True by default, which probably isn't what you want and will "
"Git.show() has strip_newline_in_stdout=True by default, which probably isn't what you want and may "

return r

@with_rw_directory
def test_warn_when_strip_newline_in_stdout(self, rw_dir):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's put the additional assertion done in test_do_not_strip_newline_in_stdout here so that it's clearer what's under test: The deprecation warning if git show is used and strip_newline_in_stdout=True. This way, test_do_not_strip_newline_in_stdout can be removed. I'd also hope that the assertion then can be changed to use the default value for strip_newline_in_stdout, which is probably True, the cause of the confusion in this case.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants