Re: Report: removing the inconsistencies in our CVS->git conversion

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Michael Haggerty <mhagger(at)alum(dot)mit(dot)edu>, Max Bowsher <maxb(at)f2s(dot)com>
Subject: Re: Report: removing the inconsistencies in our CVS->git conversion
Date: 2010-09-13 15:48:22
Message-ID: 13362.1284392902@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-www

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Sun, Sep 12, 2010 at 11:03 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Having completed that comparison, I then moved on to trying to get rid of
>> the discrepancies in the git conversion; particularly, trying to get rid
>> of the "manufactured commits". I didn't have much success in that for the
>> cases where the manufactured commit was caused by a back-branch file
>> addition. [...] We still have "manufactured" commits either
>> way, but they are just cosmetic so I guess we should live with them.

> I'm not really following what the history looks like here. What are
> the contents (git show) of the manufactured commit?

A typical example is

commit 4d2ac8075a93c685dbbe920f4bac23288dd7cf11
Author: PostgreSQL Daemon <webmaster(at)postgresql(dot)org>
Date: Tue Nov 22 18:17:36 2005 +0000

This commit was manufactured by cvs2svn to create branch 'REL7_4_STABLE'.

Cherrypick from master 2005-11-22 18:17:34 UTC Bruce Momjian <bruce(at)momjian(dot)us> 'Re-run pgindent, fixing a problem where comment lines after a blank':
src/port/unsetenv.c

diff --git a/src/port/unsetenv.c b/src/port/unsetenv.c
new file mode 100644
index 0000000..bdfb3f6
--- /dev/null
+++ b/src/port/unsetenv.c
@@ -0,0 +1,56 @@
+ [ entire contents of unsetenv.c here ]

In the cases where I inserted a dead .0 revision, this is followed by
something like

commit a1bdd263ca8ff657365a97a560f6371f39295efc
Author: Bruce Momjian <bruce(at)momjian(dot)us>
Date: Tue Nov 22 18:17:37 2005 +0000

Mark branch as deleted.

diff --git a/src/port/unsetenv.c b/src/port/unsetenv.c
deleted file mode 100644
index bdfb3f6..0000000
--- a/src/port/unsetenv.c
+++ /dev/null
@@ -1,56 +0,0 @@
- [ entire contents of unsetenv.c here too ]

I'm a bit disappointed by the fact that we get either of these. I had
gathered from Max's comments that the dead-revision-at-the-base-of-the-
branch trick is considered standard in newer CVS versions, and so I'd
hoped that cvs2git would understand the construct and not generate
either of these commits. Possibly the hacked-up revisions I inserted
are enough different from the regular kind to confuse it.

>> I also found numerous places where we'd been sloppy about placing tags.

> I wonder if we should consider fixing some or all of these things on
> the master CVS repository. I wouldn't be too eager to inject those
> fake .0 commits for fear of breakage, but moving tags to where they
> ought to have been all along seems like it might be a good thing to do
> independent of git.

Yeah, that's something I was wondering too. Applying these fixes to the
master repository would also reduce the number of things we have to
remember to do during the final conversion. OTOH, there's that risk of
breaking something.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-09-13 15:52:39 Re: cvs2git reports a "sprout" from a nonexistent commit?
Previous Message Heikki Linnakangas 2010-09-13 15:35:19 Re: pg_ctl emits strange warning message

Browse pgsql-www by date

  From Date Subject
Next Message Alvaro Herrera 2010-09-13 15:51:15 Re: How would I find the WWW project?
Previous Message A.M. 2010-09-13 15:43:43 Re: How would I find the WWW project?