[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Savannah-hackers-public] support for repository(ies) contact/descri

From: Sylvain Beucler
Subject: Re: [Savannah-hackers-public] support for repository(ies) contact/description
Date: Sun, 8 Jun 2008 11:27:47 +0200
User-agent: Mutt/1.5.17+20080114 (2008-01-14)


On Sat, Jun 07, 2008 at 09:39:47AM +0200, Aleix Conchillo Flaqué wrote:
> Hi,
> I've started adding support for editing repository contact/description
> this afternoon. Before I continue adding code, I would like to comment
> the details.
> I have created a new database table with the following structure:
> CREATE TABLE `repository` (
>  `repo_id` INT( 11 ) NOT NULL auto_increment,
>  `group_id` INT( 11 ) NOT NULL default '0',
>  `repo_name` VARCHAR( 255 ) default NULL,
>  `repo_contact` VARCHAR( 255 ) default NULL,
>  `repo_description` VARCHAR( 255 ) default NULL,
>  `is_cvs` CHAR( 1 ) NOT NULL default '0',
>  `is_arch` CHAR( 1 ) NOT NULL default '0',
>  `is_svn` CHAR( 1 ) NOT NULL default '0',
>  `is_git` CHAR( 1 ) NOT NULL default '0',
>  `is_hg` CHAR( 1 ) NOT NULL default '0',
>  `is_bzr` CHAR( 1 ) NOT NULL default '0',
>  `is_default` CHAR( 1 ) NOT NULL default '0',
>  PRIMARY KEY (`repo_id`),
>  KEY `idx_repo_group_id` (`group_id`)
> );

My main concern is: will this fit all VCSes? Though, maybe we can just
add a separate joined table if a VCS requires additional fields .

'contact' is not used by 'bzr' afaics; maybe that field can be just
ignored by the bzr backend, or maybe the field can be disabled in the
edit form (so users don't expect it to be used).

The alternate way is to create a specific table for each VCS, but this
sounds much more difficult to me anyway.

> That is, a list of repositories for each group (this allows multiple
> repos) and a default repo per group (is_default).

I'd suggest changing 'is_default' to 'show_in_source_menu'.  This way,
main repositories would be proeminently displayed in the "Source Code"
menu, as well as in the project homepage. Other repositories would be
displayed in a separate "other repositories" page; this would exclude,
for example, experimental repos and obsolete repos (such as CVS repos
if you switched to Mercurial, but still wish to keep the old CVS
around :)).

The bottom line is: I think some project will have several main
repositories (I do :)).

> Every repository
> entry will tell the repository type (is_git, is_hg...).
> Then I have added an entry for each repository type under "Source
> Code" in pagemenu.php. So, we have "Manage Git Repositories", "Manage
> Mercurial Repositories" and so on.
> All this menu entries point to project/admin/repoadmin.php? 
> repo=xxx&group_id=xxx
> I am not sure about the "repo=xxx" argument. Another option is just
> have one entry for all the repo types, "Manage Repositories" and list
> all the repositories there (separated by types).

I think listing all repositories at once is easier to edit.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]