comparison rhodecode/model/repo.py @ 1112:6d0a7284949d beta

#109, added optional clone uri when creating repo. Cleaned up repos controller moved common code into __load_data
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 05 Mar 2011 21:59:47 +0100
parents f726a939d2d4
children 143b37b7b4aa
comparison
equal deleted inserted replaced
1111:4b62d2fea08a 1112:6d0a7284949d
232 .get_by_username('default', cache=False).user_id 232 .get_by_username('default', cache=False).user_id
233 233
234 self.sa.add(repo_to_perm) 234 self.sa.add(repo_to_perm)
235 235
236 if not just_db: 236 if not just_db:
237 self.__create_repo(repo_name, form_data['repo_type']) 237 self.__create_repo(repo_name, form_data['repo_type'],
238 form_data['clone_uri'])
238 239
239 self.sa.commit() 240 self.sa.commit()
240 241
241 #now automatically start following this repository as owner 242 #now automatically start following this repository as owner
242 from rhodecode.model.scm import ScmModel 243 from rhodecode.model.scm import ScmModel
297 log.error(traceback.format_exc()) 298 log.error(traceback.format_exc())
298 self.sa.rollback() 299 self.sa.rollback()
299 raise 300 raise
300 301
301 302
302 def __create_repo(self, repo_name, alias): 303 def __create_repo(self, repo_name, alias, clone_uri=False):
303 """ 304 """
304 makes repository on filesystem 305 makes repository on filesystem
305 :param repo_name: 306 :param repo_name:
306 :param alias: 307 :param alias:
307 """ 308 """
308 from rhodecode.lib.utils import check_repo 309 from rhodecode.lib.utils import check_repo
309 repo_path = os.path.join(self.repos_path, repo_name) 310 repo_path = os.path.join(self.repos_path, repo_name)
310 if check_repo(repo_name, self.repos_path): 311 if check_repo(repo_name, self.repos_path):
311 log.info('creating repo %s in %s', repo_name, repo_path) 312 log.info('creating repo %s in %s @ %s', repo_name, repo_path,
313 clone_uri)
312 backend = get_backend(alias) 314 backend = get_backend(alias)
313 backend(repo_path, create=True) 315 backend(repo_path, create=True, src_url=clone_uri)
314 316
315 def __rename_repo(self, old, new): 317 def __rename_repo(self, old, new):
316 """ 318 """
317 renames repository on filesystem 319 renames repository on filesystem
318 :param old: old name 320 :param old: old name