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 <rtenneti@google.com>
Reviewed-by: Raman Tenneti <rtenneti@google.com>
Reviewed-by: Ian Kasprzak <iankaz@google.com>
Reviewed-by: Xin Li <delphij@google.com>
This commit is contained in:
Raman Tenneti 2021-08-11 09:26:30 -07:00 committed by Patrick Hiesel
parent df8b1cba47
commit 5637afcc60
2 changed files with 27 additions and 19 deletions

View File

@ -122,11 +122,19 @@ class Superproject(object):
branch = branch[len(R_HEADS):] branch = branch[len(R_HEADS):]
return branch return branch
def _LogError(self, message): def _LogMessage(self, message):
"""Logs message to stderr and _git_event_log.""" """Logs message to stderr and _git_event_log."""
print(message, file=sys.stderr) print(message, file=sys.stderr)
self._git_event_log.ErrorEvent(message, '') 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): def _Init(self):
"""Sets up a local Git repository to get a copy of a superproject. """Sets up a local Git repository to get a copy of a superproject.
@ -146,8 +154,8 @@ class Superproject(object):
capture_stderr=True) capture_stderr=True)
retval = p.Wait() retval = p.Wait()
if retval: if retval:
self._LogError(f'repo: error: git init call failed, command: git {cmd}, ' self._LogWarning(f'git init call failed, command: git {cmd}, '
f'return code: {retval}, stderr: {p.stderr}') f'return code: {retval}, stderr: {p.stderr}')
return False return False
return True return True
@ -161,7 +169,7 @@ class Superproject(object):
True if fetch is successful, or False. True if fetch is successful, or False.
""" """
if not os.path.exists(self._work_git): 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 return False
if not git_require((2, 28, 0)): if not git_require((2, 28, 0)):
print('superproject requires a git version 2.28 or later', file=sys.stderr) print('superproject requires a git version 2.28 or later', file=sys.stderr)
@ -176,8 +184,8 @@ class Superproject(object):
capture_stderr=True) capture_stderr=True)
retval = p.Wait() retval = p.Wait()
if retval: if retval:
self._LogError(f'repo: error: git fetch call failed, command: git {cmd}, ' self._LogWarning(f'git fetch call failed, command: git {cmd}, '
f'return code: {retval}, stderr: {p.stderr}') f'return code: {retval}, stderr: {p.stderr}')
return False return False
return True return True
@ -190,7 +198,7 @@ class Superproject(object):
data: data returned from 'git ls-tree ...' instead of None. data: data returned from 'git ls-tree ...' instead of None.
""" """
if not os.path.exists(self._work_git): 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 return None
data = None data = None
branch = 'HEAD' if not self._branch else self._branch branch = 'HEAD' if not self._branch else self._branch
@ -205,8 +213,8 @@ class Superproject(object):
if retval == 0: if retval == 0:
data = p.stdout data = p.stdout
else: else:
self._LogError(f'repo: error: git ls-tree call failed, command: git {cmd}, ' self._LogWarning(f'git ls-tree call failed, command: git {cmd}, '
f'return code: {retval}, stderr: {p.stderr}') f'return code: {retval}, stderr: {p.stderr}')
return data return data
def Sync(self): def Sync(self):
@ -219,15 +227,15 @@ class Superproject(object):
'address described in `repo version`', file=sys.stderr) 'address described in `repo version`', file=sys.stderr)
if not self._manifest.superproject: if not self._manifest.superproject:
self._LogError(f'repo error: superproject tag is not defined in manifest: ' self._LogWarning(f'superproject tag is not defined in manifest: '
f'{self._manifest.manifestFile}') f'{self._manifest.manifestFile}')
return SyncResult(False, False) return SyncResult(False, False)
should_exit = True should_exit = True
url = self._manifest.superproject['remote'].url url = self._manifest.superproject['remote'].url
if not url: if not url:
self._LogError(f'repo error: superproject URL is not defined in manifest: ' self._LogWarning(f'superproject URL is not defined in manifest: '
f'{self._manifest.manifestFile}') f'{self._manifest.manifestFile}')
return SyncResult(False, should_exit) return SyncResult(False, should_exit)
if not self._Init(): 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. manifest_path: Path name of the file into which manifest is written instead of None.
""" """
if not os.path.exists(self._superproject_path): 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 return None
manifest_str = self._manifest.ToXml(groups=self._manifest.GetGroupsStr()).toxml() manifest_str = self._manifest.ToXml(groups=self._manifest.GetGroupsStr()).toxml()
manifest_path = self._manifest_path manifest_path = self._manifest_path
@ -285,7 +293,7 @@ class Superproject(object):
with open(manifest_path, 'w', encoding='utf-8') as fp: with open(manifest_path, 'w', encoding='utf-8') as fp:
fp.write(manifest_str) fp.write(manifest_str)
except IOError as e: 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 None
return manifest_path return manifest_path
@ -336,8 +344,8 @@ class Superproject(object):
# If superproject doesn't have a commit id for a project, then report an # 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. # error event and continue as if do not use superproject is specified.
if projects_missing_commit_ids: if projects_missing_commit_ids:
self._LogError(f'error: please file a bug using {self._manifest.contactinfo.bugurl} ' self._LogWarning(f'please file a bug using {self._manifest.contactinfo.bugurl} '
f'to report missing commit_ids for: {projects_missing_commit_ids}') f'to report missing commit_ids for: {projects_missing_commit_ids}')
return UpdateProjectsResult(None, False) return UpdateProjectsResult(None, False)
for project in projects: for project in projects:

View File

@ -12,10 +12,10 @@
intm = 10m intm = 10m
intg = 10g intg = 10g
[repo "syncstate.main"] [repo "syncstate.main"]
synctime = 2021-07-29T22:07:43.463365Z synctime = 2021-08-11T17:54:14.530286Z
version = 1 version = 1
[repo "syncstate.sys"] [repo "syncstate.sys"]
argv = ['/usr/bin/pytest-3'] argv = ['/usr/bin/pytest-3', '-v']
[repo "syncstate.superproject"] [repo "syncstate.superproject"]
test = false test = false
[repo "syncstate.options"] [repo "syncstate.options"]