From 3e8be54131293825b3eb1126be9bf8bafad0d01b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 14 2016 09:18:33 +0000 Subject: Fix forking a repo with a namespace Fixes https://pagure.io/pagure/issue/1533 --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 253bed4..a50f4f9 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -1487,7 +1487,8 @@ def fork_project(session, user, repo, gitfolder, ''' Fork a given project into the user's forks. ''' reponame = os.path.join(gitfolder, repo.path) forkreponame = '%s.git' % os.path.join( - gitfolder, 'forks', user, repo.name) + gitfolder, 'forks', user, + repo.namespace if repo.namespace else '', repo.name) if os.path.exists(forkreponame): raise pagure.exceptions.RepoExistsException( @@ -1497,6 +1498,7 @@ def fork_project(session, user, repo, gitfolder, project = model.Project( name=repo.name, + namespace=repo.namespace, description=repo.description, user_id=user_obj.id, parent_id=repo.id, @@ -1570,7 +1572,9 @@ def fork_project(session, user, repo, gitfolder, ), ) - return 'Repo "%s" cloned to "%s/%s"' % (repo.name, user, repo.name) + return 'Repo "{0}" cloned to "{1}/{0}"'.format( + '%s/%s' % (repo.namespace, repo.name) if repo.namespace else repo.name, + user) def search_projects(