Issue #19: create repository group for each user
| Reported by: | domruf |
| State: | new |
| Created on: | 2014-08-18 15:55 |
| Updated on: | 2014-09-24 11:19 |
Description
I suggest to add an option that when activated automatically creates a repository group for each user. This would make kallithea more like github/bitbucket.
I implemented a rudimentary solution for my old rhodecode instance with rcextension
def _cruserhook(*args, **kwargs): from rhodecode.model.repos_group import ReposGroupModel new_group = ReposGroupModel().create(group_name=kwargs['username'], group_description='personal repo group for %s' % kwargs['username'], owner=kwargs['user_id'], parent='users') return 0
Attachments
Comments
Comment by Mads Kiilerich, on 2014-08-18 16:15
I agree ... even though Kallithea fits a different and decentralized model where it is more like each person / organization has their own installation.
It should be optional / permissions should default to off.
It should be configurable with a prefix - organizations will probably want names like ~username or /home/username or /user or /personal or /private so it doesn't clobber the "main" repositories.
Creation should perhaps be postponed to the moment where the user decides to do it or when cloning a repo to it.
Comment by Ba Manzi, on 2014-09-24 11:19
It seems that on kallithea-0.1, the code should be:
def _cruserhook(*args, **kwargs): from kallithea.model.repo_group import RepoGroupModel import pdb pdb.set_trace() new_group = RepoGroupModel().create(group_name=kwargs['username'], group_description='personal repo group for %s' % kwargs['username'], owner=kwargs['username'], parent='users') return 0
Beside the rhodecode to kallithea thing, two changes needed:
ReposGroupModel->RepoGroupModel(note the s)owner=kwargs['user_id']won't work. askwargs['user_id']isNone.owner=kwargs['username']works
Comment by Mads Kiilerich, on 2015-04-20 13:37
Issue #114 was marked as a duplicate of this issue.