[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-hackers-public] Re: initial mercurial frontend patch
From: |
Sylvain Beucler |
Subject: |
[Savannah-hackers-public] Re: initial mercurial frontend patch |
Date: |
Thu, 10 Apr 2008 23:24:04 +0200 |
User-agent: |
Mutt/1.5.17+20080114 (2008-01-14) |
Hi,
On Thu, Apr 10, 2008 at 09:02:08PM +0200, Aleix Conchillo Flaqué wrote:
> Hi,
>
> I have had lots of problems (a part of being busy) and I had to do
> code the changes again as it was my first time with git and I removed
> everything doing a "git reset --hard" ( I wanted to restore a file).
Ugh.. I guess by now you're aware it's "git checkout" :/
Not one of the finest naming convention, admittedly.
> Anyway, I'm attaching a first (very easy) patch for the mercurial
> frontend.
Cool, it appears to work fine!
> For the database I have only added the update for savane-cleanup.
Yes, you'll need to modify this one too for new installs:
db/mysql/table_group_type.initvalues
> Please, letme know if you can successfully apply the patch. I have
> created with 'git show', I am not sure if it's the right way.
I'm not sure what's the Right Way, but this one works :)
I noticed a typo of mine that you reproduced in:
/usr/src/savane/frontend/php/project/admin/editgroupfeatures.php
url_svn_git -> url_git_viewcvs
url_svn_hg -> url_hg_viewcvs
Remember to fix the copyright notices. You'll need to add
# Copyright (C) 2008 Aleix Conchillo Flaqué
when you modify or copy a file.
I did some research and found the commits related to initial Git
support:
-
http://git.sv.gnu.org/gitweb/?p=savane-cleanup.git;a=commitdiff;h=a184b183e38cbc64db6ca8ec7d86de44d66eeff3
-
http://git.sv.gnu.org/gitweb/?p=savane-cleanup.git;a=commitdiff;h=b0ebf020c2af63f4a286bf165144f4760a56053a
Maybe this can help you check if something's missing (not at first
glance), and have a peek at the backend :)
I think the big work now is playing with the backend and deciding how
to setup Mercurial in the system. In particular:
- site-wide repositories layout that ease web viewer configuration
(e.g. in ViewVC all repositories are inside one single directory. With
Git there are nested repositories, but there's a repository list to
maintain each time a new repository is added)
- Layout for subprojects:
For Git:
/srv/git/project.git # main repo
/srv/git/project/subrepo.git # secondary repo
For Bzr:
/srv/bzr/project/ # main repo (in /srv/bzr/project/.bzr subdirectory)
/srv/bzr/project/subrepo/ # secondary repo
For Hg:
?
- Short paths:
There are also options to trim /srv/git or /srv/svn in some
situations, that'd be something cool for Hg if available :))
- Consider managing multiple repositories per project
We'd need that for VCSes too, maybe in a second step)
- And as we initially discussed whether it's a "shell restricted" or
"sftp restricted" support. "sftp restricted" is easier but is more
limited.
For example, if Mercurial supports (or will likely soon support)
server-side hooks (commit notification) or Patch Queue Managers,
this is something we'll only securely provide for a "shell
restricted" setup.
Also, "sftp restricted" shared repositories are vulnerable to
maladroit or angry team members trashing the history :/
Personal repositories: at Savannah this is not welcome because we
host projects after approving them, so we're not supposed to host
user personal code. However, if this is a wanted feature, we could
imagine allowing per-user project subrepositories
(/srv/hg/savane-cleanup/aleix-branch1/ or something similar).
I've got little Mercurial experience so you tell me :)
But first things first, let's make a simple backend to start with :)
--
Sylvain
- [Savannah-hackers-public] Re: initial mercurial frontend patch,
Sylvain Beucler <=