[PATCH] patman: Support absolute and ~user-relative alias files

Python doesn't naturally support tilde (~) as a user-home marker in paths, but git-config does. So we need to resolve it before continuing.
We also shouldn't blindly join the top-level tree with the aliasesfile path, because it might be an absolute path.
This resolves warnings like the following:
Warning: Cannot find alias file '/path/to/source/tree/~/.git-email'
Seen when git-config is like:
$ git config sendemail.aliasesfile ~/.git-email
Signed-off-by: Brian Norris briannorris@chromium.org ---
tools/patman/gitutil.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py index 5e4c1128dcb5..e1ef96df22ec 100644 --- a/tools/patman/gitutil.py +++ b/tools/patman/gitutil.py @@ -616,9 +616,14 @@ def GetAliasFile(): """ fname = command.OutputOneLine('git', 'config', 'sendemail.aliasesfile', raise_on_error=False) - if fname: - fname = os.path.join(GetTopLevel(), fname.strip()) - return fname + if not fname: + return None + + fname = os.path.expanduser(fname.strip()) + if os.path.isabs(fname): + return fname + + return os.path.join(GetTopLevel(), fname)
def GetDefaultUserName(): """Gets the user.name from .gitconfig file.

On Fri, 7 Jan 2022 at 16:16, Brian Norris briannorris@chromium.org wrote:
Python doesn't naturally support tilde (~) as a user-home marker in paths, but git-config does. So we need to resolve it before continuing.
We also shouldn't blindly join the top-level tree with the aliasesfile path, because it might be an absolute path.
This resolves warnings like the following:
Warning: Cannot find alias file '/path/to/source/tree/~/.git-email'
Seen when git-config is like:
$ git config sendemail.aliasesfile ~/.git-email
Signed-off-by: Brian Norris briannorris@chromium.org
tools/patman/gitutil.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
+Otavio Salvador to check this one
Reviewed-by: Simon Glass sjg@chromium.org

Em qua., 12 de jan. de 2022 às 18:22, Simon Glass sjg@chromium.org escreveu:
On Fri, 7 Jan 2022 at 16:16, Brian Norris briannorris@chromium.org wrote:
Python doesn't naturally support tilde (~) as a user-home marker in paths, but git-config does. So we need to resolve it before continuing.
We also shouldn't blindly join the top-level tree with the aliasesfile path, because it might be an absolute path.
This resolves warnings like the following:
Warning: Cannot find alias file '/path/to/source/tree/~/.git-email'
Seen when git-config is like:
$ git config sendemail.aliasesfile ~/.git-email
Signed-off-by: Brian Norris briannorris@chromium.org
tools/patman/gitutil.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
+Otavio Salvador to check this one
Reviewed-by: Simon Glass sjg@chromium.org
Some use-case of mine.
Reviewed-by: Otavio Salvador otavio@ossystems.com.br

Em qua., 12 de jan. de 2022 às 18:22, Simon Glass sjg@chromium.org escreveu:
On Fri, 7 Jan 2022 at 16:16, Brian Norris briannorris@chromium.org wrote:
Python doesn't naturally support tilde (~) as a user-home marker in paths, but git-config does. So we need to resolve it before continuing.
We also shouldn't blindly join the top-level tree with the aliasesfile path, because it might be an absolute path.
This resolves warnings like the following:
Warning: Cannot find alias file '/path/to/source/tree/~/.git-email'
Seen when git-config is like:
$ git config sendemail.aliasesfile ~/.git-email
Signed-off-by: Brian Norris briannorris@chromium.org
tools/patman/gitutil.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
+Otavio Salvador to check this one
Reviewed-by: Simon Glass sjg@chromium.org
Some use-case of mine.
Reviewed-by: Otavio Salvador otavio@ossystems.com.br
participants (3)
-
Brian Norris
-
Otavio Salvador
-
Simon Glass