Home | History | Annotate | Download | only in server2
      1 # Copyright 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 class Patcher(object):
      6   def GetPatchedFiles(self, version=None):
      7     '''Returns patched files as(added_files, deleted_files, modified_files)
      8     from the patchset specified by |version|.
      9     '''
     10     raise NotImplementedError(self.__class__)
     11 
     12   def GetVersion(self):
     13     '''Returns patch version. Returns None when nothing is patched by the
     14     patcher.
     15     '''
     16     raise NotImplementedError(self.__class__)
     17 
     18   def Apply(self, paths, file_system, version=None):
     19     '''Apply the patch to added/modified files. Returns Future with patched
     20     data. Throws FileNotFoundError if |paths| contains deleted files.
     21     '''
     22     raise NotImplementedError(self.__class__)
     23 
     24   def GetIdentity(self):
     25     '''Returns a string that identifies this patch. Typically it would be the
     26     codereview server's ID for this patch.
     27     '''
     28     raise NotImplementedError(self.__class__)
     29