From e74f1e50d9a70ccaa81c4b8575aa09feb63a4e23 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mar 20 2015 08:14:08 +0000 Subject: When forking a project, create the new git repo to store the pull-requests metadata --- diff --git a/progit/lib/__init__.py b/progit/lib/__init__.py index b6f594e..c626b44 100644 --- a/progit/lib/__init__.py +++ b/progit/lib/__init__.py @@ -556,7 +556,7 @@ def update_project_settings(session, repo, issue_tracker, project_docs): def fork_project(session, user, repo, gitfolder, - forkfolder, docfolder, ticketfolder): + forkfolder, docfolder, ticketfolder, requestfolder): ''' Fork a given project into the user's forks. ''' if repo.is_fork: reponame = os.path.join(forkfolder, repo.path) @@ -603,6 +603,16 @@ def fork_project(session, user, repo, gitfolder, ) pygit2.init_repository(ticketrepo, bare=True) + requestrepo = os.path.join(requestfolder, project.path) + if os.path.exists(requestrepo): + shutil.rmtree(forkreponame) + shutil.rmtree(docrepo) + shutil.rmtree(ticketrepo) + raise progit.exceptions.RepoExistsException( + 'The requests repo "%s" already exists' % project.path + ) + pygit2.init_repository(requestrepo, bare=True) + return 'Repo "%s" cloned to "%s/%s"' % (repo.name, user, repo.name)