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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-hackers by date

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