diff options
-rw-r--r-- | tools/patman/checkpatch.py | 7 | ||||
-rw-r--r-- | tools/patman/cmdline.py | 8 | ||||
-rw-r--r-- | tools/patman/get_maintainer.py | 13 | ||||
-rw-r--r-- | tools/patman/project.py | 3 | ||||
-rw-r--r-- | tools/patman/settings.py | 3 | ||||
-rw-r--r-- | tools/u_boot_pylib/gitutil.py | 11 |
6 files changed, 30 insertions, 15 deletions
diff --git a/tools/patman/checkpatch.py b/tools/patman/checkpatch.py index 5df06b1095a..f9204a907ef 100644 --- a/tools/patman/checkpatch.py +++ b/tools/patman/checkpatch.py @@ -22,7 +22,7 @@ RE_NOTE = re.compile(r'NOTE: (.*)') def find_check_patch(): - top_level = gitutil.get_top_level() + top_level = gitutil.get_top_level() or '' try_list = [ os.getcwd(), os.path.join(os.getcwd(), '..', '..'), @@ -219,8 +219,9 @@ def check_patch(fname, verbose=False, show_types=False, use_tree=False, args.append('--no-tree') if show_types: args.append('--show-types') - output = command.output(*args, os.path.join(cwd or '', fname), - raise_on_error=False) + output = command.output( + *args, os.path.join(cwd or '', fname), raise_on_error=False, + capture_stderr=not use_tree) return check_patch_parse(output, verbose) diff --git a/tools/patman/cmdline.py b/tools/patman/cmdline.py index 0ae92f88c4b..108fa52d820 100644 --- a/tools/patman/cmdline.py +++ b/tools/patman/cmdline.py @@ -44,11 +44,15 @@ def add_send_args(par): '-m', '--no-maintainers', action='store_false', dest='add_maintainers', default=True, help="Don't cc the file maintainers automatically") + default_arg = None + top_level = gitutil.get_top_level() + if top_level: + default_arg = os.path.join(top_level, 'scripts', + 'get_maintainer.pl') + ' --norolestats' par.add_argument( '--get-maintainer-script', dest='get_maintainer_script', type=str, action='store', - default=os.path.join(gitutil.get_top_level(), 'scripts', - 'get_maintainer.pl') + ' --norolestats', + default=default_arg, help='File name of the get_maintainer.pl (or compatible) script.') par.add_argument( '-r', '--in-reply-to', type=str, action='store', diff --git a/tools/patman/get_maintainer.py b/tools/patman/get_maintainer.py index 200ee96551d..1c8fa726573 100644 --- a/tools/patman/get_maintainer.py +++ b/tools/patman/get_maintainer.py @@ -21,7 +21,7 @@ def find_get_maintainer(script_file_name): if get_maintainer: return get_maintainer - git_relative_script = os.path.join(gitutil.get_top_level(), + git_relative_script = os.path.join(gitutil.get_top_level() or '', script_file_name) if os.path.exists(git_relative_script): return git_relative_script @@ -46,11 +46,14 @@ def get_maintainer(script_file_name, fname, verbose=False): """ # Expand `script_file_name` into a file name and its arguments, if # any. - cmd_args = shlex.split(script_file_name) - file_name = cmd_args[0] - arguments = cmd_args[1:] + get_maintainer = None + arguments = None + if script_file_name: + cmd_args = shlex.split(script_file_name) + file_name = cmd_args[0] + arguments = cmd_args[1:] - get_maintainer = find_get_maintainer(file_name) + get_maintainer = find_get_maintainer(file_name) if not get_maintainer: if verbose: print("WARNING: Couldn't find get_maintainer.pl") diff --git a/tools/patman/project.py b/tools/patman/project.py index d6143a67066..e633401e9d6 100644 --- a/tools/patman/project.py +++ b/tools/patman/project.py @@ -18,7 +18,8 @@ def detect_project(): """ top_level = gitutil.get_top_level() - if os.path.exists(os.path.join(top_level, "include", "u-boot")): + if (not top_level or + os.path.exists(os.path.join(top_level, "include", "u-boot"))): return "u-boot" elif os.path.exists(os.path.join(top_level, "kernel")): return "linux" diff --git a/tools/patman/settings.py b/tools/patman/settings.py index 7a0866cd370..def932db43a 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -364,7 +364,8 @@ def Setup(parser, project_name, argv, config_fname=None): if config_fname is None: config_fname = '%s/.patman' % os.getenv('HOME') - git_local_config_fname = os.path.join(gitutil.get_top_level(), '.patman') + git_local_config_fname = os.path.join(gitutil.get_top_level() or '', + '.patman') has_config = False has_git_local_config = False diff --git a/tools/u_boot_pylib/gitutil.py b/tools/u_boot_pylib/gitutil.py index cfcfeffe2f4..7d001d03bed 100644 --- a/tools/u_boot_pylib/gitutil.py +++ b/tools/u_boot_pylib/gitutil.py @@ -644,7 +644,7 @@ def get_top_level(): """Return name of top-level directory for this git repo. Returns: - str: Full path to git top-level directory + str: Full path to git top-level directory, or None if not found This test makes sure that we are running tests in the right subdir @@ -652,7 +652,12 @@ def get_top_level(): os.path.join(get_top_level(), 'tools', 'patman') True """ - return command.output_one_line('git', 'rev-parse', '--show-toplevel') + result = command.run_one( + 'git', 'rev-parse', '--show-toplevel', oneline=True, capture=True, + capture_stderr=True, raise_on_error=False) + if result.return_code: + return None + return result.stdout.strip() def get_alias_file(): @@ -670,7 +675,7 @@ def get_alias_file(): if os.path.isabs(fname): return fname - return os.path.join(get_top_level(), fname) + return os.path.join(get_top_level() or '', fname) def get_default_user_name(): |