summaryrefslogtreecommitdiff
path: root/git/util.py
diff options
context:
space:
mode:
authorMichael Mercier <michael.mercier@ryax.tech>2021-03-15 18:39:26 +0100
committerMichael Mercier <michael.mercier@ryax.tech>2021-03-15 18:48:34 +0100
commit50cbafc690e5692a16148dbde9de680be70ddbd1 (patch)
treec07b6454aa8bd3050020edcc114d5f33b984f975 /git/util.py
parentf7968d136276607115907267b3be89c3ff9acd03 (diff)
downloadgitpython-50cbafc690e5692a16148dbde9de680be70ddbd1.tar.gz
Add more test and remove password also from error logs
Diffstat (limited to 'git/util.py')
-rw-r--r--git/util.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/git/util.py b/git/util.py
index e9d183d9..80985df4 100644
--- a/git/util.py
+++ b/git/util.py
@@ -343,13 +343,13 @@ def expand_path(p, expand_vars=True):
def remove_password_if_present(cmdline):
"""
Parse any command line argument and if on of the element is an URL with a
- password, replace it by stars. If nothing found just returns a copy of the
- command line as-is.
+ password, replace it by stars (in-place).
+
+ If nothing found just returns the command line as-is.
This should be used for every log line that print a command line.
"""
- redacted_cmdline = []
- for to_parse in cmdline:
+ for index, to_parse in enumerate(cmdline):
try:
url = urlsplit(to_parse)
# Remove password from the URL if present
@@ -358,12 +358,11 @@ def remove_password_if_present(cmdline):
edited_url = url._replace(
netloc=url.netloc.replace(url.password, "*****"))
- redacted_cmdline.append(urlunsplit(edited_url))
+ cmdline[index] = urlunsplit(edited_url)
except ValueError:
- redacted_cmdline.append(to_parse)
# This is not a valid URL
pass
- return redacted_cmdline
+ return cmdline
#} END utilities