mirror of
https://gerrit.googlesource.com/git-repo
synced 2025-07-02 20:17:19 +00:00
repo: properly handle remote annotations in manifest_xml
BUG=b:192664812 TEST=tests/ Change-Id: I1aa50260f4a00d3cebbd531141e1626825e70127 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/312643 Tested-by: Jack Neus <jackneus@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
20
project.py
20
project.py
@ -251,13 +251,29 @@ class DiffColoring(Coloring):
|
||||
self.fail = self.printer('fail', fg='red')
|
||||
|
||||
|
||||
class _Annotation(object):
|
||||
class Annotation(object):
|
||||
|
||||
def __init__(self, name, value, keep):
|
||||
self.name = name
|
||||
self.value = value
|
||||
self.keep = keep
|
||||
|
||||
def __eq__(self, other):
|
||||
if not isinstance(other, Annotation):
|
||||
return False
|
||||
return self.__dict__ == other.__dict__
|
||||
|
||||
def __lt__(self, other):
|
||||
# This exists just so that lists of Annotation objects can be sorted, for
|
||||
# use in comparisons.
|
||||
if not isinstance(other, Annotation):
|
||||
raise ValueError('comparison is not between two Annotation objects')
|
||||
if self.name == other.name:
|
||||
if self.value == other.value:
|
||||
return self.keep < other.keep
|
||||
return self.value < other.value
|
||||
return self.name < other.name
|
||||
|
||||
|
||||
def _SafeExpandPath(base, subpath, skipfinal=False):
|
||||
"""Make sure |subpath| is completely safe under |base|.
|
||||
@ -1448,7 +1464,7 @@ class Project(object):
|
||||
self.linkfiles.append(_LinkFile(self.worktree, src, topdir, dest))
|
||||
|
||||
def AddAnnotation(self, name, value, keep):
|
||||
self.annotations.append(_Annotation(name, value, keep))
|
||||
self.annotations.append(Annotation(name, value, keep))
|
||||
|
||||
def DownloadPatchSet(self, change_id, patch_id):
|
||||
"""Download a single patch set of a single change to FETCH_HEAD.
|
||||
|
Reference in New Issue
Block a user