summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
authorDavid Riley <davidriley@google.com>2017-04-05 00:02:59 -0700
committerDavid Pursehouse <dpursehouse@collab.net>2017-05-29 13:39:54 +0900
commite0684addeeb920ddf83168d5fbbbe50cb9287abd (patch)
tree03a3dd940950463c0c88062d1fce2aae78708777 /project.py
parentfef9f21b28d3b59804fdd5db2bbb86e797051dab (diff)
downloadgit-repo-e0684addeeb920ddf83168d5fbbbe50cb9287abd.tar.gz
sync: Add support to dump a JSON event log of all sync events.
Change-Id: Id4852968ac1b2bf0093007cf2e5ca951ddab8b3b
Diffstat (limited to 'project.py')
-rw-r--r--project.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/project.py b/project.py
index 45ecfe36..269fd7e5 100644
--- a/project.py
+++ b/project.py
@@ -323,13 +323,15 @@ class RemoteSpec(object):
323 pushUrl=None, 323 pushUrl=None,
324 review=None, 324 review=None,
325 revision=None, 325 revision=None,
326 orig_name=None): 326 orig_name=None,
327 fetchUrl=None):
327 self.name = name 328 self.name = name
328 self.url = url 329 self.url = url
329 self.pushUrl = pushUrl 330 self.pushUrl = pushUrl
330 self.review = review 331 self.review = review
331 self.revision = revision 332 self.revision = revision
332 self.orig_name = orig_name 333 self.orig_name = orig_name
334 self.fetchUrl = fetchUrl
333 335
334 336
335class RepoHook(object): 337class RepoHook(object):
@@ -2876,13 +2878,14 @@ class SyncBuffer(object):
2876 2878
2877 self.detach_head = detach_head 2879 self.detach_head = detach_head
2878 self.clean = True 2880 self.clean = True
2881 self.recent_clean = True
2879 2882
2880 def info(self, project, fmt, *args): 2883 def info(self, project, fmt, *args):
2881 self._messages.append(_InfoMessage(project, fmt % args)) 2884 self._messages.append(_InfoMessage(project, fmt % args))
2882 2885
2883 def fail(self, project, err=None): 2886 def fail(self, project, err=None):
2884 self._failures.append(_Failure(project, err)) 2887 self._failures.append(_Failure(project, err))
2885 self.clean = False 2888 self._MarkUnclean()
2886 2889
2887 def later1(self, project, what): 2890 def later1(self, project, what):
2888 self._later_queue1.append(_Later(project, what)) 2891 self._later_queue1.append(_Later(project, what))
@@ -2896,6 +2899,15 @@ class SyncBuffer(object):
2896 self._PrintMessages() 2899 self._PrintMessages()
2897 return self.clean 2900 return self.clean
2898 2901
2902 def Recently(self):
2903 recent_clean = self.recent_clean
2904 self.recent_clean = True
2905 return recent_clean
2906
2907 def _MarkUnclean(self):
2908 self.clean = False
2909 self.recent_clean = False
2910
2899 def _RunLater(self): 2911 def _RunLater(self):
2900 for q in ['_later_queue1', '_later_queue2']: 2912 for q in ['_later_queue1', '_later_queue2']:
2901 if not self._RunQueue(q): 2913 if not self._RunQueue(q):
@@ -2904,7 +2916,7 @@ class SyncBuffer(object):
2904 def _RunQueue(self, queue): 2916 def _RunQueue(self, queue):
2905 for m in getattr(self, queue): 2917 for m in getattr(self, queue):
2906 if not m.Run(self): 2918 if not m.Run(self):
2907 self.clean = False 2919 self._MarkUnclean()
2908 return False 2920 return False
2909 setattr(self, queue, []) 2921 setattr(self, queue, [])
2910 return True 2922 return True