Index: checkout.py |
diff --git a/checkout.py b/checkout.py |
index 450b37973c0e0c702fe328e8f2759986b8b08fcf..cc570082c01219def42be817a84c0296ac950104 100644 |
--- a/checkout.py |
+++ b/checkout.py |
@@ -553,8 +553,9 @@ class SvnCheckout(CheckoutBase, SvnMixIn): |
class GitCheckout(CheckoutBase): |
"""Manages a git checkout.""" |
def __init__(self, root_dir, project_name, remote_branch, git_url, |
- commit_user, post_processors=None): |
+ commit_user, post_processors=None, base_ref=None): |
super(GitCheckout, self).__init__(root_dir, project_name, post_processors) |
+ self.base_ref = base_ref |
self.git_url = git_url |
self.commit_user = commit_user |
self.remote_branch = remote_branch |
@@ -710,9 +711,13 @@ class GitCheckout(CheckoutBase): |
if verbose: |
cmd.append('--verbose') |
self._check_call_git(cmd) |
+ if self.base_ref: |
+ base_ref = self.base_ref |
+ else: |
+ base_ref = '%s/%s' % (self.remote, |
+ self.remote_branch or self.master_branch) |
found_files = self._check_output_git( |
- ['diff', '%s/%s' % (self.remote, |
- self.remote_branch or self.master_branch), |
+ ['diff', base_ref, |
'--name-only']).splitlines(False) |
assert sorted(patches.filenames) == sorted(found_files), ( |
sorted(patches.filenames), sorted(found_files)) |