# Copyright 2013 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. class Patcher(object): def GetPatchedFiles(self, version=None): '''Returns patched files as(added_files, deleted_files, modified_files) from the patchset specified by |version|. ''' raise NotImplementedError(self.__class__) def GetVersion(self): '''Returns patch version. Returns None when nothing is patched by the patcher. ''' raise NotImplementedError(self.__class__) def Apply(self, paths, file_system, version=None): '''Apply the patch to added/modified files. Returns Future with patched data. Throws FileNotFoundError if |paths| contains deleted files. ''' raise NotImplementedError(self.__class__) def GetIdentity(self): '''Returns a string that identifies this patch. Typically it would be the codereview server's ID for this patch. ''' raise NotImplementedError(self.__class__)