diff --git a/progit/fork.py b/progit/fork.py index 95b15b8..c6cea64 100644 --- a/progit/fork.py +++ b/progit/fork.py @@ -276,6 +276,7 @@ def fork_project(repo, username=None): gitfolder=APP.config['GIT_FOLDER'], forkfolder=APP.config['FORK_FOLDER'], docfolder=APP.config['DOCS_FOLDER'], + ticketfolder=APP.config['TICKETS_FOLDER'], user=flask.g.fas_user.username) SESSION.commit() diff --git a/progit/lib.py b/progit/lib.py index 7ff623c..542b3e7 100644 --- a/progit/lib.py +++ b/progit/lib.py @@ -269,7 +269,8 @@ def update_project_settings(session, repo, issue_tracker, project_docs): return 'Edited successfully setting of repo: %s' % repo.fullname -def fork_project(session, user, repo, gitfolder, forkfolder, docfolder): +def fork_project(session, user, repo, gitfolder, + forkfolder, docfolder,ticketfolder): ''' Fork a given project into the user's forks. ''' if repo.is_fork: reponame = os.path.join(forkfolder, repo.path) @@ -311,6 +312,13 @@ def fork_project(session, user, repo, gitfolder, forkfolder, docfolder): ) pygit2.init_repository(gitrepo, bare=True) + gitrepo = os.path.join(ticketfolder, project.path) + if os.path.exists(gitrepo): + raise progit.exceptions.RepoExistsException( + 'The tickets repo "%s" already exists' % project.path + ) + pygit2.init_repository(gitrepo, bare=True) + return 'Repo "%s" cloned to "%s/%s"' % (repo.name, user, repo.name)