From 5637afcc60fdbd38fc0790ea84d5dcb901ec5959 Mon Sep 17 00:00:00 2001 From: Raman Tenneti Date: Wed, 11 Aug 2021 09:26:30 -0700 Subject: superproject: prepend messages with - "repo superproject" Changed _LogError method to _LogWarning. Replaced 'repo error:' with "repo superproject warning:"(except IOError message, which is still an "repo superproject error:" message) Tested: $ ./run_tests Tested the errors and warnings by forcing the error/warning. $ repo_dev sync -j 20 --use-superproject platform/packages/apps/Music ... repo superproject warning: please file a bug using go/repo-bug to report missing commit_ids for: [] ... repo superproject error: cannot write manifest to : /sdc/android/src/aosp/.repo/exp-superproject/superproject_override.xml ... Bug: [google internal] b/193711236 Change-Id: Ia0b6c830e04cf18dfc1a2ce325181a5b1160e054 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/314642 Tested-by: Raman Tenneti Reviewed-by: Raman Tenneti Reviewed-by: Ian Kasprzak Reviewed-by: Xin Li --- git_superproject.py | 42 +++++++++++++++++++++++++----------------- tests/fixtures/test.gitconfig | 4 ++-- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/git_superproject.py b/git_superproject.py index 8769355c..c677924f 100644 --- a/git_superproject.py +++ b/git_superproject.py @@ -122,11 +122,19 @@ class Superproject(object): branch = branch[len(R_HEADS):] return branch - def _LogError(self, message): + def _LogMessage(self, message): """Logs message to stderr and _git_event_log.""" print(message, file=sys.stderr) self._git_event_log.ErrorEvent(message, '') + def _LogError(self, message): + """Logs error message to stderr and _git_event_log.""" + self._LogMessage(f'repo superproject error: {message}') + + def _LogWarning(self, message): + """Logs warning message to stderr and _git_event_log.""" + self._LogMessage(f'repo superproject warning: {message}') + def _Init(self): """Sets up a local Git repository to get a copy of a superproject. @@ -146,8 +154,8 @@ class Superproject(object): capture_stderr=True) retval = p.Wait() if retval: - self._LogError(f'repo: error: git init call failed, command: git {cmd}, ' - f'return code: {retval}, stderr: {p.stderr}') + self._LogWarning(f'git init call failed, command: git {cmd}, ' + f'return code: {retval}, stderr: {p.stderr}') return False return True @@ -161,7 +169,7 @@ class Superproject(object): True if fetch is successful, or False. """ if not os.path.exists(self._work_git): - self._LogError(f'git fetch missing directory: {self._work_git}') + self._LogWarning(f'git fetch missing directory: {self._work_git}') return False if not git_require((2, 28, 0)): print('superproject requires a git version 2.28 or later', file=sys.stderr) @@ -176,8 +184,8 @@ class Superproject(object): capture_stderr=True) retval = p.Wait() if retval: - self._LogError(f'repo: error: git fetch call failed, command: git {cmd}, ' - f'return code: {retval}, stderr: {p.stderr}') + self._LogWarning(f'git fetch call failed, command: git {cmd}, ' + f'return code: {retval}, stderr: {p.stderr}') return False return True @@ -190,7 +198,7 @@ class Superproject(object): data: data returned from 'git ls-tree ...' instead of None. """ if not os.path.exists(self._work_git): - self._LogError(f'git ls-tree missing directory: {self._work_git}') + self._LogWarning(f'git ls-tree missing directory: {self._work_git}') return None data = None branch = 'HEAD' if not self._branch else self._branch @@ -205,8 +213,8 @@ class Superproject(object): if retval == 0: data = p.stdout else: - self._LogError(f'repo: error: git ls-tree call failed, command: git {cmd}, ' - f'return code: {retval}, stderr: {p.stderr}') + self._LogWarning(f'git ls-tree call failed, command: git {cmd}, ' + f'return code: {retval}, stderr: {p.stderr}') return data def Sync(self): @@ -219,15 +227,15 @@ class Superproject(object): 'address described in `repo version`', file=sys.stderr) if not self._manifest.superproject: - self._LogError(f'repo error: superproject tag is not defined in manifest: ' - f'{self._manifest.manifestFile}') + self._LogWarning(f'superproject tag is not defined in manifest: ' + f'{self._manifest.manifestFile}') return SyncResult(False, False) should_exit = True url = self._manifest.superproject['remote'].url if not url: - self._LogError(f'repo error: superproject URL is not defined in manifest: ' - f'{self._manifest.manifestFile}') + self._LogWarning(f'superproject URL is not defined in manifest: ' + f'{self._manifest.manifestFile}') return SyncResult(False, should_exit) if not self._Init(): @@ -277,7 +285,7 @@ class Superproject(object): manifest_path: Path name of the file into which manifest is written instead of None. """ if not os.path.exists(self._superproject_path): - self._LogError(f'error: missing superproject directory: {self._superproject_path}') + self._LogWarning(f'missing superproject directory: {self._superproject_path}') return None manifest_str = self._manifest.ToXml(groups=self._manifest.GetGroupsStr()).toxml() manifest_path = self._manifest_path @@ -285,7 +293,7 @@ class Superproject(object): with open(manifest_path, 'w', encoding='utf-8') as fp: fp.write(manifest_str) except IOError as e: - self._LogError(f'error: cannot write manifest to : {manifest_path} {e}') + self._LogError(f'cannot write manifest to : {manifest_path} {e}') return None return manifest_path @@ -336,8 +344,8 @@ class Superproject(object): # If superproject doesn't have a commit id for a project, then report an # error event and continue as if do not use superproject is specified. if projects_missing_commit_ids: - self._LogError(f'error: please file a bug using {self._manifest.contactinfo.bugurl} ' - f'to report missing commit_ids for: {projects_missing_commit_ids}') + self._LogWarning(f'please file a bug using {self._manifest.contactinfo.bugurl} ' + f'to report missing commit_ids for: {projects_missing_commit_ids}') return UpdateProjectsResult(None, False) for project in projects: diff --git a/tests/fixtures/test.gitconfig b/tests/fixtures/test.gitconfig index d71f8e73..d69e162c 100644 --- a/tests/fixtures/test.gitconfig +++ b/tests/fixtures/test.gitconfig @@ -12,10 +12,10 @@ intm = 10m intg = 10g [repo "syncstate.main"] - synctime = 2021-07-29T22:07:43.463365Z + synctime = 2021-08-11T17:54:14.530286Z version = 1 [repo "syncstate.sys"] - argv = ['/usr/bin/pytest-3'] + argv = ['/usr/bin/pytest-3', '-v'] [repo "syncstate.superproject"] test = false [repo "syncstate.options"] -- cgit v1.2.3-54-g00ecf