up
Change-Id: I5d1c709518d76d777a7f07c4c774569773c5a265
This commit is contained in:
parent
8d37f61471
commit
fd6edc71b6
2 changed files with 36 additions and 0 deletions
|
@ -129,6 +129,30 @@ class Superproject:
|
||||||
"""Set the _print_messages attribute."""
|
"""Set the _print_messages attribute."""
|
||||||
self._print_messages = value
|
self._print_messages = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def commit_id(self):
|
||||||
|
"""Returns the commit ID of the superproject checkout."""
|
||||||
|
cmd = ["rev-parse", self.revision]
|
||||||
|
p = GitCommand(
|
||||||
|
None, # project
|
||||||
|
cmd,
|
||||||
|
gitdir=self._work_git,
|
||||||
|
bare=True,
|
||||||
|
capture_stdout=True,
|
||||||
|
capture_stderr=True,
|
||||||
|
)
|
||||||
|
retval = p.Wait()
|
||||||
|
if retval == 0:
|
||||||
|
data = p.stdout
|
||||||
|
else:
|
||||||
|
self._LogWarning(
|
||||||
|
"git rev-parse call failed, command: git {}, "
|
||||||
|
"return code: {}, stderr: {}",
|
||||||
|
cmd,
|
||||||
|
p.stdwerr,
|
||||||
|
)
|
||||||
|
return data
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def project_commit_ids(self):
|
def project_commit_ids(self):
|
||||||
"""Returns a dictionary of projects and their commit ids."""
|
"""Returns a dictionary of projects and their commit ids."""
|
||||||
|
|
|
@ -87,6 +87,12 @@ the following meanings:
|
||||||
help="include objects in working directory outside of repo "
|
help="include objects in working directory outside of repo "
|
||||||
"projects",
|
"projects",
|
||||||
)
|
)
|
||||||
|
p.add_option(
|
||||||
|
"--superproject-hash",
|
||||||
|
dest="superproject_hash",
|
||||||
|
action="store_true",
|
||||||
|
help="print the superproject hash",
|
||||||
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _StatusHelper(cls, quiet, local, project_idx):
|
def _StatusHelper(cls, quiet, local, project_idx):
|
||||||
|
@ -132,6 +138,12 @@ the following meanings:
|
||||||
outstring.append("".join([status_header, item, "/"]))
|
outstring.append("".join([status_header, item, "/"]))
|
||||||
|
|
||||||
def Execute(self, opt, args):
|
def Execute(self, opt, args):
|
||||||
|
if opt.superproject_hash:
|
||||||
|
sp = self.manifest.superproject
|
||||||
|
shash = sp.commit_id if sp else "None"
|
||||||
|
print("Superproject Hash:", shash)
|
||||||
|
return
|
||||||
|
|
||||||
all_projects = self.GetProjects(
|
all_projects = self.GetProjects(
|
||||||
args, all_manifests=not opt.this_manifest_only
|
args, all_manifests=not opt.this_manifest_only
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue