Re: New module import to git.gnome.og



On Wed, 2009-03-18 at 16:24 -0400, Owen Taylor wrote:
> What if we:
> 
>  * Prepended [PENDING] to the cgit description
> 
>  * Required people to:
> 
>    git push --exec=import 
> 
>  * Disallowed other git-push.
> 
> Until you ssh user git gnome org finish-import
> 
> Then in the [PENDING] state we would skip the commit mail, allow
> creating lightweight tags, and allow deleting tags and branches (to fix
> up your screwups). We'd still have some of the other pre-receive hooks
> that we want to enforce on new imports.

OK, I (modulo undiscovered bugs) have this pretty much all implemented
now. Let's see, docs off the top of my head:

===
To create a new repository, you run:

 ssh <username>@git.gnome.org create-repository <repository-name>

The repository name must be lowercase letters, digits, and '-'. (With an
exception to allow uppercase for names starting with perl-.)

Once you've done that, your repository is in a special "pending" mode
indicating that the import is not complete, and will show up on
http://git.gnome.org/cgit/ prepending with [PENDING]. Normal pushes to
you repository are not allowed as long as it is pending.

You can now push the branches and tags you want into your new repository
by adding --exec=import to the normal git push line. If you have a local
repository with exactly the tags and branches you want (use 'git tag -l'
and 'git branch' to list your tags and branches), then you can import
all branches and tags with:

 git push --exec=import ssh://<username>@git.gnome.org/git/<repository-name> refs/heads/* refs/tags/*

You can also push just the branches you want one-by-one, again adding
--exec=import to the push line.

Check to make sure that you are happy with the contents of your repository
(You can browse it on the web at http://git.gnome.org/cgit/<repository-name>.)

Once you are satisified, finish the import process by running:

 ssh <username>@git.gnome.org finish-import <repository-name>

Once you have done this, you can push into your repository in the normal
Git fashion, and commit mails will be sent to the GNOME commits list. (These 
mails are omitted for the initial import to avoid overloading the list.)
===

If someone wants to clean that up a little and find a home for it on the wiki, 
it would be much appreciated!

- Owen




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