Skip site navigation (1) Skip section navigation (2)

Re: Hacking on PostgreSQL via GIT

From: Aidan Van Dyk <aidan(at)highrise(dot)ca>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Hacking on PostgreSQL via GIT
Date: 2007-04-16 17:56:00
Message-ID: f00dbh$m48$1@sea.gmane.org (view raw or flat)
Thread:
Lists: pgsql-hackers
Martin Langhoff wrote:

> Hi Florian,
> 
> I am right now running an rsync of the Pg CVS repo to my work machine to
> get a git import underway. I'm rather keen on seeing your cool PITR Pg
> project go well and I have some git+cvs fu I can apply here (being one
> of the git-cvsimport maintainers) ;-)
> 
> For the kind of work you'll be doing (writing patches that you'll want
> to be rebasing onto the latest HEAD for merging later) git is probably
> the best tool. That's what I use it for... tracking my experimental /
> custom branches of projects that use CVS or SVN :-)
> 
> Initially, I'll post it on http://git.catalyst.net.nz/ and I can run a
> daily import for you - once that's in place you can probably get a repo
> with your work on http://repo.or.cz/

Well, now that more than one of us are working with git on PostgreSQL...

I've had a repo conversion running for a while...  I've only got it to what
I consider "stable" last week:
    http://repo.or.cz/w/PostgreSQL.git
    git://repo.or.cz/PostgreSQL.git

Note that this is a "special" conversion - I intentionally "unmunge" all the
$PostgreSQL$ tags in this repo.  

I hate the Keyword expansion, and it only servers to make otherwise
automatically merging a manual process.  So I specifically go through and
un-munge any keyword a-like things before stomping it into GIT.

For those interested int he conversion process, I've used a slightly
modified version of fromcvs (A ruby cvs to git/Hg tool), and it runs on all
of pgsql in about 20 minutes.

I gave up on git-svn (because of both speed and my in-ablility to
easy "filter" out Keywords, etc) and git-cvsimport (because cvsps doesn't
seem to like pgsql's repo)


I "update" the git repo daily, based on an anonymous rsync of the cvsroot. 
If the anon-rsync is updated much more frequently, and people think my git
conversion should match it, I have no problem having cron run it more than
daily.

Also - note that I give *no* guarentees of it's integrity, etc.

I've "diffed" a CVS checkout and a git checkout, and the are *almost*
identical.  Almost, because it seems like my git repository currently has 3
files that a cvs checkout doesn't:
 backend/parser/gram.c             |12088 +++++++++++++++++++++++++++
 interfaces/ecpg/preproc/pgc.c     | 2887 ++++++
 interfaces/ecpg/preproc/preproc.c |16988 ++++++++++++++++++++++++++++++++++

And at this point, I haven't been bothered to see where those files came
from (and where they dissapear) in CVS and why my import isn't picking that
up...  I could probably be pushed if others find this repo really useful,
but those files problematic...



In response to

Responses

pgsql-hackers by date

Next:From: Zoltan BoszormenyiDate: 2007-04-16 18:07:00
Subject: Re: IDENTITY/GENERATED v36 Re: [PATCHES] Final version of IDENTITY/GENERATED patch
Previous:From: Tom LaneDate: 2007-04-16 17:35:59
Subject: Re: IDENTITY/GENERATED v36 Re: [PATCHES] Final version of IDENTITY/GENERATED patch

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group