Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(526)

Side by Side Diff: recipe_engine/package.py

Issue 2829203002: [autoroller] All commits in updates(), only roll interesting ones. (Closed)
Patch Set: windows fix Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « recipe_engine/fetch.py ('k') | recipe_engine/unittests/fetch_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The LUCI Authors. All rights reserved. 1 # Copyright 2015 The LUCI Authors. All rights reserved.
2 # Use of this source code is governed under the Apache License, Version 2.0 2 # Use of this source code is governed under the Apache License, Version 2.0
3 # that can be found in the LICENSE file. 3 # that can be found in the LICENSE file.
4 4
5 import copy 5 import copy
6 import errno 6 import errno
7 import logging 7 import logging
8 import operator 8 import operator
9 import os 9 import os
10 import subprocess 10 import subprocess
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 202
203 def current(self): 203 def current(self):
204 return self.backend.commit_metadata(self.revision) 204 return self.backend.commit_metadata(self.revision)
205 205
206 def updates(self): 206 def updates(self):
207 """Returns a list of revisions on the branch between the pinned revision 207 """Returns a list of revisions on the branch between the pinned revision
208 and the tracked branch. 208 and the tracked branch.
209 209
210 Returns list(CommitMetadata) 210 Returns list(CommitMetadata)
211 """ 211 """
212 spec = self.spec_pb() 212 return self.backend.updates(
213 213 self.revision, self.backend.resolve_refspec(self._branch_for_remote))
214 paths = []
215 subdir = spec.recipes_path
216 if subdir:
217 # We add package_file to the list of paths to check because it might
218 # contain other upstream rolls, which we want.
219 paths.extend([subdir + os.path.sep,
220 InfraRepoConfig().relative_recipes_cfg])
221
222 other_revision = self.backend.resolve_refspec(self._branch_for_remote)
223 return self.backend.updates(self.revision, other_revision, paths)
224 214
225 def _components(self): 215 def _components(self):
226 return (self.project_id, self.repo, self.revision, self.path) 216 return (self.project_id, self.repo, self.revision, self.path)
227 217
228 def __eq__(self, other): 218 def __eq__(self, other):
229 if not isinstance(other, type(self)): 219 if not isinstance(other, type(self)):
230 return False 220 return False
231 return self._components() == other._components() 221 return self._components() == other._components()
232 222
233 223
234 class PathRepoSpec(RepoSpec): 224 class PathRepoSpec(RepoSpec):
235 """A RepoSpec implementation that uses a local filesystem path.""" 225 """A RepoSpec implementation that uses a local filesystem path."""
236 226
237 def __init__(self, project_id, path): 227 def __init__(self, project_id, path):
238 self.project_id = project_id 228 self.project_id = project_id
239 self.path = path 229 self.path = path
240 230
241 def __str__(self): 231 def __str__(self):
242 return ( 232 return (
243 'PathRepoSpec{project_id="%(project_id)s", path="%(path)s"}' 233 'PathRepoSpec{project_id="%(project_id)s", path="%(path)s"}'
244 % self.__dict__ 234 % self.__dict__
245 ) 235 )
246 236
247 def current(self): 237 def current(self):
248 return fetch.CommitMetadata( 238 return fetch.CommitMetadata(
249 '', 239 '',
250 '', 240 '',
251 0, 241 0,
252 (), 242 (),
253 self.spec_pb() 243 self.spec_pb(),
244 False
254 ) 245 )
255 246
256 def updates(self): 247 def updates(self):
257 return [] 248 return []
258 249
259 def fetch(self): 250 def fetch(self):
260 pass 251 pass
261 252
262 def checkout(self, context): 253 def checkout(self, context):
263 pass 254 pass
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 502
512 @property 503 @property
513 def packages(self): 504 def packages(self):
514 for p in self._packages.values(): 505 for p in self._packages.values():
515 yield p 506 yield p
516 507
517 @property 508 @property
518 def engine_recipes_py(self): 509 def engine_recipes_py(self):
519 return os.path.join( 510 return os.path.join(
520 self._packages['recipe_engine'].repo_root, 'recipes.py') 511 self._packages['recipe_engine'].repo_root, 'recipes.py')
OLDNEW
« no previous file with comments | « recipe_engine/fetch.py ('k') | recipe_engine/unittests/fetch_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698