[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)


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:

> 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:
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

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

  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 :)


reply via email to

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