changeset 2813:25b10f9d23b4 beta

Fixed mercurial backend doesn't take bare parameter when forking
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 06 Sep 2012 00:03:29 +0200
parents ad4bc0f66d6a
children 5acab31448d1
files rhodecode/lib/celerylib/tasks.py
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/celerylib/tasks.py	Wed Sep 05 23:55:29 2012 +0200
+++ b/rhodecode/lib/celerylib/tasks.py	Thu Sep 06 00:03:29 2012 +0200
@@ -400,9 +400,19 @@
     log.info('creating fork of %s as %s', source_repo_path,
              destination_fork_path)
     backend = get_backend(repo_type)
-    backend(safe_str(destination_fork_path), create=True,
-            src_url=safe_str(source_repo_path),
-            update_after_clone=update_after_clone, bare=True)
+
+    if repo_type == 'git':
+        backend(safe_str(destination_fork_path), create=True,
+                src_url=safe_str(source_repo_path),
+                update_after_clone=update_after_clone,
+                bare=True)
+    elif repo_type == 'hg':
+        backend(safe_str(destination_fork_path), create=True,
+                src_url=safe_str(source_repo_path),
+                update_after_clone=update_after_clone)
+    else:
+        raise Exception('Unknown backend type %s' % repo_type)
+
     log_create_repository(fork_repo.get_dict(), created_by=cur_user.username)
 
     action_logger(cur_user, 'user_forked_repo:%s' % fork_name,