From dca7926c2cb82ff4aea665ed97e38520d39865a5 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 7 Jan 2022 15:15:55 -0800 Subject: [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 Reviewed-by: Simon Glass Reviewed-by: Otavio Salvador --- 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 5e4c1128dc..e1ef96df22 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. -- 2.39.5