summaryrefslogtreecommitdiffstats
path: root/manifest_xml.py
diff options
context:
space:
mode:
authorJonathan Nieder <jrn@google.com>2015-03-17 11:29:58 -0700
committerJonathan Nieder <jrn@google.com>2015-03-17 11:29:58 -0700
commit9371979628a945a1caf526aeff84a1ac68a22efe (patch)
treedddfeb5a602f799f31a8d62ac5feb72fa2fb06ab /manifest_xml.py
parent20860042617d43ed192d60659cd92c71ea251519 (diff)
downloadgit-repo-9371979628a945a1caf526aeff84a1ac68a22efe.tar.gz
Revert "Implementation of manifest defined githooks"v1.12.20
This reverts commit 38e4387f8eb8cffd6359d726c38a7c524fef07e3. A "repo init" followed by "repo sync" is meant to be as safe as "git clone". In particular it should not run arbitrary code provided by the manifest owner. It would still be nice to have support for manifest-defined git hooks --- they'd just need a prompt like the upload RepoHook has. Hopefully a later change can bring them back. Change-Id: I5ecd90fb5c2ed64f103d856d1ffcba38a47b062d Signed-off-by: Jonathan Nieder <jrn@google.com>
Diffstat (limited to 'manifest_xml.py')
-rw-r--r--manifest_xml.py24
1 files changed, 2 insertions, 22 deletions
diff --git a/manifest_xml.py b/manifest_xml.py
index 9472a08f..890c954d 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -64,9 +64,7 @@ class _XmlRemote(object):
64 fetch=None, 64 fetch=None,
65 manifestUrl=None, 65 manifestUrl=None,
66 review=None, 66 review=None,
67 revision=None, 67 revision=None):
68 projecthookName=None,
69 projecthookRevision=None):
70 self.name = name 68 self.name = name
71 self.fetchUrl = fetch 69 self.fetchUrl = fetch
72 self.manifestUrl = manifestUrl 70 self.manifestUrl = manifestUrl
@@ -74,8 +72,6 @@ class _XmlRemote(object):
74 self.reviewUrl = review 72 self.reviewUrl = review
75 self.revision = revision 73 self.revision = revision
76 self.resolvedFetchUrl = self._resolveFetchUrl() 74 self.resolvedFetchUrl = self._resolveFetchUrl()
77 self.projecthookName = projecthookName
78 self.projecthookRevision = projecthookRevision
79 75
80 def __eq__(self, other): 76 def __eq__(self, other):
81 return self.__dict__ == other.__dict__ 77 return self.__dict__ == other.__dict__
@@ -171,11 +167,6 @@ class XmlManifest(object):
171 e.setAttribute('review', r.reviewUrl) 167 e.setAttribute('review', r.reviewUrl)
172 if r.revision is not None: 168 if r.revision is not None:
173 e.setAttribute('revision', r.revision) 169 e.setAttribute('revision', r.revision)
174 if r.projecthookName is not None:
175 ph = doc.createElement('projecthook')
176 ph.setAttribute('name', r.projecthookName)
177 ph.setAttribute('revision', r.projecthookRevision)
178 e.appendChild(ph)
179 170
180 def _ParseGroups(self, groups): 171 def _ParseGroups(self, groups):
181 return [x for x in re.split(r'[,\s]+', groups) if x] 172 return [x for x in re.split(r'[,\s]+', groups) if x]
@@ -638,13 +629,7 @@ class XmlManifest(object):
638 if revision == '': 629 if revision == '':
639 revision = None 630 revision = None
640 manifestUrl = self.manifestProject.config.GetString('remote.origin.url') 631 manifestUrl = self.manifestProject.config.GetString('remote.origin.url')
641 projecthookName = None 632 return _XmlRemote(name, alias, fetch, manifestUrl, review, revision)
642 projecthookRevision = None
643 for n in node.childNodes:
644 if n.nodeName == 'projecthook':
645 projecthookName, projecthookRevision = self._ParseProjectHooks(n)
646 break
647 return _XmlRemote(name, alias, fetch, manifestUrl, review, revision, projecthookName, projecthookRevision)
648 633
649 def _ParseDefault(self, node): 634 def _ParseDefault(self, node):
650 """ 635 """
@@ -948,8 +933,3 @@ class XmlManifest(object):
948 diff['added'].append(toProjects[proj]) 933 diff['added'].append(toProjects[proj])
949 934
950 return diff 935 return diff
951
952 def _ParseProjectHooks(self, node):
953 name = self._reqatt(node, 'name')
954 revision = self._reqatt(node, 'revision')
955 return name, revision