comparison rhodecode/model/repo.py @ 659:758f64f3fbda beta

extended repo creation by repo type. fixed fork creation to maintain repo type.
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 05 Nov 2010 21:55:30 +0100
parents ae292c3b94ed
children dff6d5cb8bba
comparison
equal deleted inserted replaced
658:4ecb2ffcc110 659:758f64f3fbda
19 """ 19 """
20 Created on Jun 5, 2010 20 Created on Jun 5, 2010
21 model for handling repositories actions 21 model for handling repositories actions
22 :author: marcink 22 :author: marcink
23 """ 23 """
24 24 from vcs.backends import get_repo, get_backend
25 from datetime import datetime 25 from datetime import datetime
26 from pylons import app_globals as g 26 from pylons import app_globals as g
27 from rhodecode.model.db import Repository, RepoToPerm, User, Permission 27 from rhodecode.model.db import Repository, RepoToPerm, User, Permission
28 from rhodecode.model.meta import Session 28 from rhodecode.model.meta import Session
29 from rhodecode.model.user import UserModel 29 from rhodecode.model.user import UserModel
149 repo_to_perm.user_id = UserModel(self.sa).get_by_username('default', cache=False).user_id 149 repo_to_perm.user_id = UserModel(self.sa).get_by_username('default', cache=False).user_id
150 150
151 self.sa.add(repo_to_perm) 151 self.sa.add(repo_to_perm)
152 self.sa.commit() 152 self.sa.commit()
153 if not just_db: 153 if not just_db:
154 self.__create_repo(repo_name) 154 self.__create_repo(repo_name, form_data['repo_type'])
155 except: 155 except:
156 log.error(traceback.format_exc()) 156 log.error(traceback.format_exc())
157 self.sa.rollback() 157 self.sa.rollback()
158 raise 158 raise
159 159
180 except: 180 except:
181 log.error(traceback.format_exc()) 181 log.error(traceback.format_exc())
182 self.sa.rollback() 182 self.sa.rollback()
183 raise 183 raise
184 184
185 def __create_repo(self, repo_name): 185 def __create_repo(self, repo_name, alias):
186 from rhodecode.lib.utils import check_repo 186 from rhodecode.lib.utils import check_repo
187 repo_path = os.path.join(g.base_path, repo_name) 187 repo_path = os.path.join(g.base_path, repo_name)
188 if check_repo(repo_name, g.base_path): 188 if check_repo(repo_name, g.base_path):
189 log.info('creating repo %s in %s', repo_name, repo_path) 189 log.info('creating repo %s in %s', repo_name, repo_path)
190 from vcs.backends.hg import MercurialRepository 190 backend = get_backend(alias)
191 MercurialRepository(repo_path, create=True) 191 backend(repo_path, create=True)
192 192
193 def __rename_repo(self, old, new): 193 def __rename_repo(self, old, new):
194 log.info('renaming repo from %s to %s', old, new) 194 log.info('renaming repo from %s to %s', old, new)
195 195
196 old_path = os.path.join(g.base_path, old) 196 old_path = os.path.join(g.base_path, old)