Index: checkout.py |
diff --git a/checkout.py b/checkout.py |
index 38c269abe1d05e41bdc2fffb8807882a578d164d..d4db42c2ac4c8a8d9a3c1638d33df95735fe1e9e 100644 |
--- a/checkout.py |
+++ b/checkout.py |
@@ -62,11 +62,13 @@ class CheckoutBase(object): |
def __init__(self, root_dir, project_name): |
self.root_dir = root_dir |
self.project_name = project_name |
- self.project_path = os.path.join(self.root_dir, self.project_name) |
+ if self.project_name is None: |
+ self.project_path = self.root_dir |
+ else: |
+ self.project_path = os.path.join(self.root_dir, self.project_name) |
# Only used for logging purposes. |
self._last_seen_revision = None |
assert self.root_dir |
- assert self.project_name |
assert self.project_path |
def get_settings(self, key): |
@@ -229,10 +231,10 @@ class SvnCheckout(CheckoutBase, SvnMixIn): |
self.commit_pwd = commit_pwd |
self.svn_url = svn_url |
assert bool(self.commit_user) >= bool(self.commit_pwd) |
- assert self.svn_url |
def prepare(self): |
# Will checkout if the directory is not present. |
+ assert self.svn_url |
if not os.path.isdir(self.project_path): |
logging.info('Checking out %s in %s' % |
(self.project_name, self.project_path)) |
@@ -346,13 +348,13 @@ class GitCheckoutBase(CheckoutBase): |
self.remote = 'origin' |
self.remote_branch = remote_branch |
self.working_branch = 'working_branch' |
- assert self.remote_branch |
def prepare(self): |
"""Resets the git repository in a clean state. |
Checks it out if not present and deletes the working branch. |
""" |
+ assert self.remote_branch |
assert os.path.isdir(self.project_path) |
self._check_call_git(['reset', '--hard', '--quiet']) |
branches, active = self._branches() |
@@ -372,9 +374,10 @@ class GitCheckoutBase(CheckoutBase): |
post_processor = post_processor or [] |
# It this throws, the checkout is corrupted. Maybe worth deleting it and |
# trying again? |
- self._check_call_git( |
- ['checkout', '-b', self.working_branch, |
- '%s/%s' % (self.remote, self.remote_branch), '--quiet']) |
+ if self.remote_branch: |
+ self._check_call_git( |
+ ['checkout', '-b', self.working_branch, |
+ '%s/%s' % (self.remote, self.remote_branch), '--quiet']) |
for p in patches: |
try: |
stdout = '' |