diff options
author | LaMont Jones <lamontjones@google.com> | 2022-06-22 19:21:15 +0000 |
---|---|---|
committer | LaMont Jones <lamontjones@google.com> | 2022-07-14 16:00:18 +0000 |
commit | 8501d4602a4c85f1e22c7a51ad191af8166efecd (patch) | |
tree | e8c5bf46c22f029412b35fc48c04daed73cde633 /subcmds/diff.py | |
parent | 8db78c7d4db84ff9e191457bbf4b1254da321c7e (diff) | |
download | git-repo-8501d4602a4c85f1e22c7a51ad191af8166efecd.tar.gz |
status, diff: display correct path for multi-manifest
Display the project path relative to the outermost manifest by default,
and relative to the sub manifest only when --this-manifest-only is
specified.
For project-related diagnostic messages, use the outermost manifest for
messages.
Change-Id: I4537d7dd412a2c182e77d6720e95c1b0ef70eb0e
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/340754
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: LaMont Jones <lamontjones@google.com>
Diffstat (limited to 'subcmds/diff.py')
-rw-r--r-- | subcmds/diff.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/subcmds/diff.py b/subcmds/diff.py index a1f4ba88..a606ee9a 100644 --- a/subcmds/diff.py +++ b/subcmds/diff.py | |||
@@ -35,18 +35,21 @@ to the Unix 'patch' command. | |||
35 | dest='absolute', action='store_true', | 35 | dest='absolute', action='store_true', |
36 | help='paths are relative to the repository root') | 36 | help='paths are relative to the repository root') |
37 | 37 | ||
38 | def _ExecuteOne(self, absolute, project): | 38 | def _ExecuteOne(self, absolute, local, project): |
39 | """Obtains the diff for a specific project. | 39 | """Obtains the diff for a specific project. |
40 | 40 | ||
41 | Args: | 41 | Args: |
42 | absolute: Paths are relative to the root. | 42 | absolute: Paths are relative to the root. |
43 | local: a boolean, if True, the path is relative to the local | ||
44 | (sub)manifest. If false, the path is relative to the | ||
45 | outermost manifest. | ||
43 | project: Project to get status of. | 46 | project: Project to get status of. |
44 | 47 | ||
45 | Returns: | 48 | Returns: |
46 | The status of the project. | 49 | The status of the project. |
47 | """ | 50 | """ |
48 | buf = io.StringIO() | 51 | buf = io.StringIO() |
49 | ret = project.PrintWorkTreeDiff(absolute, output_redir=buf) | 52 | ret = project.PrintWorkTreeDiff(absolute, output_redir=buf, local=local) |
50 | return (ret, buf.getvalue()) | 53 | return (ret, buf.getvalue()) |
51 | 54 | ||
52 | def Execute(self, opt, args): | 55 | def Execute(self, opt, args): |
@@ -63,7 +66,7 @@ to the Unix 'patch' command. | |||
63 | 66 | ||
64 | return self.ExecuteInParallel( | 67 | return self.ExecuteInParallel( |
65 | opt.jobs, | 68 | opt.jobs, |
66 | functools.partial(self._ExecuteOne, opt.absolute), | 69 | functools.partial(self._ExecuteOne, opt.absolute, opt.this_manifest_only), |
67 | all_projects, | 70 | all_projects, |
68 | callback=_ProcessResults, | 71 | callback=_ProcessResults, |
69 | ordered=True) | 72 | ordered=True) |