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

Re: Several tags around PostgreSQL 7.1 broken

From: Aidan Van Dyk <aidan(at)highrise(dot)ca>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Several tags around PostgreSQL 7.1 broken
Date: 2008-04-01 16:53:56
Message-ID: 20080401165356.GF6497@yugib.highrise.ca (view raw or flat)
Thread:
Lists: pgsql-hackers
.


* Peter Eisentraut <peter_e(at)gmx(dot)net> [080401 12:01]:
> I have now managed to investigate why some conversions of the PostgreSQL CVS 
> repository to other formats are having trouble or are failing.  Here, I am 
> looking at git-cvsimport in particular.
> 
> The problem appears to be that several tags around the time of PostgreSQL 7.1 
> are broken or inconsistent.  For instance, here is a piece of output of 
> cvsps:
> 
> WARNING: Invalid PatchSet 9441, Tag REL7_1:
>     src/pl/plpgsql/src/mklang.sql.in:1.6=after, 
> src/pl/plpgsql/src/INSTALL:1.2=before. Treated as 'before'

I talked about this here:
	http://mid.gmane.org/20080220225300(dot)GE16099(at)yugib(dot)highrise(dot)ca

Here's a "quick hack" to cvsps that I use to ignore the problematic
tags.  Of course, I've stuck with fromcvs for my PostgreSQL git mirror
simply because even though I *can* use cvsps on PostgreSQL with that
hack, it's still loads slower than fromcvs.  Since cvsps/cvsimport is so
slow, I didn't pursue making this patch usable, and moving forward with
using cvsps/cvsimport.

	aidan(at)db1-dapper:~/build/cvsps.git$ git diff
	diff --git a/cvsps.c b/cvsps.c
	index 981cd78..d436591 100644
	--- a/cvsps.c
	+++ b/cvsps.c
	@@ -2184,15 +2184,28 @@ static void parse_sym(CvsFile * file, char * sym)
	     }
	 }

	+const char* skip_symbols[] =
	+{
	+       "REL7_1_BETA",
	+       "REL7_1_BETA2",
	+       "REL7_1_BETA3",
	+       NULL
	+};
	+
	 void cvs_file_add_symbol(CvsFile * file, const char * rev_str, const char * p_tag_str)
	 {
	     CvsFileRevision * rev;
	     GlobalSymbol * sym;
	     Tag * tag;
	+    int i;

	     /* get a permanent storage string */
	     char * tag_str = get_string(p_tag_str);

	+    for (i = 0; skip_symbols[i] != NULL; i++)
	+       if (strcmp(tag_str, skip_symbols[i]) == 0)
	+           return;
	+
	     debug(DEBUG_STATUS, "adding symbol to file: %s %s->%s", file->filename, tag_str, rev_str);
	     rev = cvs_file_add_revision(file, rev_str);
	     put_hash_object_ex(file->symbols, tag_str, rev, HT_NO_KEYCOPY, NULL, NULL);

a.

-- 
Aidan Van Dyk                                             Create like a god,
aidan(at)highrise(dot)ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

In response to

pgsql-hackers by date

Next:From: Tom LaneDate: 2008-04-01 18:06:09
Subject: Re: Several tags around PostgreSQL 7.1 broken
Previous:From: Simon RiggsDate: 2008-04-01 16:42:21
Subject: Re: Improve shutdown during online backup

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