savannah-hackers-public
[Top][All Lists]
Advanced

[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




reply via email to

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