| Index: checkout.py | 
| diff --git a/checkout.py b/checkout.py | 
| index cc570082c01219def42be817a84c0296ac950104..2c9c68a7fd24ec5bcaa3df2cdd1ae89cd36bb59a 100644 | 
| --- a/checkout.py | 
| +++ b/checkout.py | 
| @@ -131,7 +131,8 @@ class CheckoutBase(object): | 
| """ | 
| raise NotImplementedError() | 
|  | 
| -  def apply_patch(self, patches, post_processors=None, verbose=False): | 
| +  def apply_patch(self, patches, post_processors=None, verbose=False, | 
| +                  name=None, email=None): | 
| """Applies a patch and returns the list of modified files. | 
|  | 
| This function should throw patch.UnsupportedPatchFormat or | 
| @@ -165,7 +166,8 @@ class RawCheckout(CheckoutBase): | 
| """Stubbed out.""" | 
| pass | 
|  | 
| -  def apply_patch(self, patches, post_processors=None, verbose=False): | 
| +  def apply_patch(self, patches, post_processors=None, verbose=False, | 
| +                  name=None, email=None): | 
| """Ignores svn properties.""" | 
| post_processors = post_processors or self.post_processors or [] | 
| for p in patches: | 
| @@ -349,7 +351,8 @@ class SvnCheckout(CheckoutBase, SvnMixIn): | 
| (self.project_name, self.project_path)) | 
| return self._revert(revision) | 
|  | 
| -  def apply_patch(self, patches, post_processors=None, verbose=False): | 
| +  def apply_patch(self, patches, post_processors=None, verbose=False, | 
| +                  name=None, email=None): | 
| post_processors = post_processors or self.post_processors or [] | 
| for p in patches: | 
| stdout = [] | 
| @@ -628,7 +631,8 @@ class GitCheckout(CheckoutBase): | 
| """Gets the current revision (in unicode) from the local branch.""" | 
| return unicode(self._check_output_git(['rev-parse', 'HEAD']).strip()) | 
|  | 
| -  def apply_patch(self, patches, post_processors=None, verbose=False): | 
| +  def apply_patch(self, patches, post_processors=None, verbose=False, | 
| +                  name=None, email=None): | 
| """Applies a patch on 'working_branch' and switches to it. | 
|  | 
| Also commits the changes on the local branch. | 
| @@ -708,6 +712,9 @@ class GitCheckout(CheckoutBase): | 
| # Once all the patches are processed and added to the index, commit the | 
| # index. | 
| cmd = ['commit', '-m', 'Committed patch'] | 
| +    if name and email: | 
| +      author = '%s <%s>' % (name, email) | 
| +      cmd.extend(['--author', author]) | 
| if verbose: | 
| cmd.append('--verbose') | 
| self._check_call_git(cmd) | 
| @@ -818,7 +825,8 @@ class ReadOnlyCheckout(object): | 
| def get_settings(self, key): | 
| return self.checkout.get_settings(key) | 
|  | 
| -  def apply_patch(self, patches, post_processors=None, verbose=False): | 
| +  def apply_patch(self, patches, post_processors=None, verbose=False, | 
| +                  name=None, email=None): | 
| return self.checkout.apply_patch( | 
| patches, post_processors or self.post_processors, verbose) | 
|  | 
|  |