* Aidan Van Dyk <ai...@highrise.ca> [090527 17:22]:
 
> And actually looking at the history of the gpo repo, the branches are all
> messed up with "merges" and stuff that I'm not sure where they are coming
> from...  8.2, 8.3, and master(HEAD) are all the same as my gpo repo, but the
> back branchs are very bad...

Ok, so seeing the interest in having a "good conversion", I took a stab at
parsecvs this afternoon, probably what I consider the leading "static"
conversion tool.  I put the following patch into it to teach it about
$PostgreSQL$ and make the date formats match what my cvs export had:
        ai...@db1-dapper:~/test/parsecvs$ git diff
        diff --git a/rcs2git.c b/rcs2git.c
        index c13c1f4..de6841d 100644
        --- a/rcs2git.c
        +++ b/rcs2git.c
        @@ -52,7 +52,7 @@ struct diffcmd {
         const int initial_out_buffer_size = 1024;
         char const ciklog[] = "checked in with -k by ";

        -#define KEYLENGTH 8 /* max length of any of the above keywords */
        +#define KEYLENGTH 10 /* max length of any of the above keywords */
         #define KDELIM '$' /* keyword delimiter */
         #define VDELIM ':' /* separates keywords from values */
         #define SDELIM '@' /* string delimiter */
        @@ -61,10 +61,10 @@ char const ciklog[] = "checked in with -k by ";

         char const *const Keyword[] = {
                0, "Author", "Date", "Header", "Id", "Locker", "Log",
        -       "Name", "RCSfile", "Revision", "Source", "State"
        +       "Name", "RCSfile", "Revision", "Source", "State", "PostgreSQL"
         };
         enum markers { Nomatch, Author, Date, Header, Id, Locker, Log,
        -       Name, RCSfile, Revision, Source, State };
        +       Name, RCSfile, Revision, Source, State, PostgreSQL };
         enum stringwork {ENTER, EDIT};

         enum expand_mode {EXPANDKKV, EXPANDKKVL, EXPANDKK, EXPANDKV, EXPANDKO, 
EXPANDKB};
        @@ -492,7 +492,7 @@ static void keyreplace(enum markers marker)
                char const *sp = Keyword[(int)marker];

                strftime(date_string, 25,
        -               "%Y/%m/%d %H:%M:%S", localtime(&Gversion->date));
        +               "%Y-%m-%d %H:%M:%S", localtime(&Gversion->date));

                if (exp != EXPANDKV)
                        out_printf("%c%s", KDELIM, sp);

It takes about 10 minutes to run my old xeon.

And a comparison between it's conversions and my cvs checkouts:
        pg-parsecvs-MANUAL_DIST.diff   0 files changed
        pg-parsecvs-REL2_0B.diff       0 files changed
        pg-parsecvs-REL6_4.diff        0 files changed
        pg-parsecvs-REL6_5_PATCHES.diff 0 files changed
        pg-parsecvs-REL7_0_PATCHES.diff 0 files changed
        pg-parsecvs-REL7_1_STABLE.diff 0 files changed
        pg-parsecvs-REL7_2_STABLE.diff 0 files changed
        pg-parsecvs-REL7_3_STABLE.diff 0 files changed
        pg-parsecvs-REL7_4_STABLE.diff 0 files changed
        pg-parsecvs-REL8_0_0.diff      4 files changed, 5053 insertions(+), 
35326 deletions(-)
        pg-parsecvs-REL8_0_STABLE.diff 0 files changed
        pg-parsecvs-REL8_1_STABLE.diff 0 files changed
        pg-parsecvs-REL8_2_STABLE.diff 1 file changed, 1 insertion(+), 1 
deletion(-)
        pg-parsecvs-REL8_3_STABLE.diff 1 file changed, 1 insertion(+), 1 
deletion(-)
        pg-parsecvs-Release_1_0_3.diff 0 files changed
        pg-parsecvs-WIN32_DEV.diff     0 files changed
        pg-parsecvs-ecpg_big_bison.diff 0 files changed
        pg-parsecvs-master.diff        1 file changed, 1 insertion(+), 1 
deletion(-)

Much better!!!

The REL8_0_0 branch seem funny yet:
         src/backend/po/ru.po                  | 8416 ++++++++++------
         src/backend/parser/gram.c             |12088 ------------------------
         src/interfaces/ecpg/preproc/pgc.c     | 2887 -----
         src/interfaces/ecpg/preproc/preproc.c |16988 
----------------------------------
         4 files changed, 5053 insertions(+), 35326 deletions(-)

3 files are in the REL8_0_0 conversion but not on the cvs branch anymore (but
looking at the CVS ,v files, I'm partial to thinking there was probably some
CVS file hackery around those versions), and it's missing an update to ru.po.

The other difference is the same line for REL8_2_STABLE/REL8_3_STABLE/master:
        ai...@db1-dapper:~/test/pg$ cat /tmp/pg-parsecvs-master.diff
        diff --git a/src/tools/backend/index.html b/src/tools/backend/index.html
        index ec2dcb8..846f002 100644
        --- a/src/tools/backend/index.html
        +++ b/src/tools/backend/index.html
        @@ -1,4 +1,4 @@
        -<!-- $PostgreSQL: pgsql/src/tools/backend/index.html,v 1.35 2006/03/11 
04:38:41 momjian Exp $ -->
        +<!-- $PostgreSQL$ -->
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
         <html xmlns="http://www.w3.org/1999/xhtml";>

Inspecting $CVSROOT/pgsql/src/tools/backend/index.html,v shows it's actually
got a strange $PostgreSQL$ tag:

The tag came into existence here:
        1.35
        log
        @Add CVS tag lines to files that were lacking them.
        @
        text
        @d1 1
        a1 1
        <!-- $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.314 2006/03/07 
02:54:23 momjian Exp $ -->
Note the bogus file name and version.

And then it was updated once since then:
        1.36
        log
        @Improve backend flowchart to show more detail.
        @
        text
        @<!-- $PostgreSQL: pgsql/src/tools/backend/index.html,v 1.35 2006/03/11 
04:38:41 momjian Exp $ -->



But, you have all your branches and tags:
  REL2_0B               01038eb Here's a little patch to keep the compiler 
quiet when compiling PostgreSQL V6.0 on the SPARC Solaris2 platform.
  REL6_4                218f738 Retrofit hashtable and 
shared-mem-size-estimation bug fixes into REL6_4.
  REL6_5_PATCHES        07af5e4 Back-patch critical fixes for NUMERIC values in 
plpgsql functions.
  REL7_0_PATCHES        ddb6d9f Back-patch password leak fix for Vaschenko.
  REL7_1_STABLE         c1e5c6e Remove stray semicolons in old ecpg preproc 
grammar ... modern bison versions won't compile it at all with those there.  
Probably of only academic interest now, but ...
  REL7_2_STABLE         695a260 Remove registration message in all the 
supported back branches; we had decided to drop it for 7.4, and no one misses 
it.
  REL7_3_STABLE         9ff59c7 Stamp release 7.3.21.
  REL7_4_STABLE         4257497 Split the release notes into a separate file 
for each (active) major branch, as per my recent proposal.  release.sgml itself 
is now just a stub that should change rarely; ideally, only once per major 
release to add a new include line. Most editing work will occur in the 
release-N.N.sgml files.  To update a back branch for a minor release, just copy 
the appropriate release-N.N.sgml file(s) into the back branch.
  REL8_0_0              1df3a89 its that time ... tag it for release
  REL8_0_STABLE         a52c648 Split the release notes into a separate file 
for each (active) major branch, as per my recent proposal.  release.sgml itself 
is now just a stub that should change rarely; ideally, only once per major 
release to add a new include line. Most editing work will occur in the 
release-N.N.sgml files.  To update a back branch for a minor release, just copy 
the appropriate release-N.N.sgml file(s) into the back branch.
  REL8_1_STABLE         04b339b Update relpages and reltuples estimates in 
stand-alone ANALYZE, even if there's no analyzable attributes or indexes. We 
also used to report 0 live and dead tuples for such tables, which messed with 
autovacuum threshold calculations.
  REL8_2_STABLE         e2fee50 Update relpages and reltuples estimates in 
stand-alone ANALYZE, even if there's no analyzable attributes or indexes. We 
also used to report 0 live and dead tuples for such tables, which messed with 
autovacuum threshold calculations.
  REL8_3_STABLE         18b7ff5 Fix LIKE's special-case code for % followed by 
_.  I'm not entirely sure that this case is worth a special code path, but a 
special code path that gets the boundary condition wrong is definitely no good. 
 Per bug #4821 from Andrew Gierth.
  Release_1_0_3         21f8ea0 A small patch from Andrew for the linux port in 
v1.09
  WIN32_DEV             0f1714d Change Win32 rename/unlink timeout to 3 seconds.
  ecpg_big_bison        3cb2aa3 Synced yet again. Deactivated backend 
prepare/execute/deallocate for the time being.
  master                fd02d25 Fix compiler warnings on Sun Studio of the sort
  master-UNNAMED-BRANCH 4cc264d Make the world at least somewhat safe for 
zero-column tables, and remove the special case in ALTER DROP COLUMN to 
prohibit dropping a table's last column.

  tags/MANUAL_1_0       0f52f25 Import of PostgreSQL User Manual
  tags/PG95-1_01        4d809f0 Postgres95 1.01 Distribution - Virgin Sources
  tags/REL2_0           401afd3 Remove include of libpq-fe.h.  This file has 
nothing to do with libpq.
  tags/REL6_5           744f5e3 Update TODO list.
  tags/REL7_0           ab6f4fd Change HISTORY to show outer joins in 7.1 or 
7.2.
  tags/REL7_1           4aa3f7b Remove as-of from HISTORY file.
  tags/REL7_1_BETA      63fbd7a Fix bogus makefiles ... these didn't build on 
platforms that are sticky about being given accurate references to referenced 
libraries ...
  tags/REL7_1_BETA2     a233e6c tag configure as beta2 ..
  tags/REL7_1_BETA3     9ef1bcb jump version to beta3 ... beta2 was created and 
pulled due to a couple of large-ish bugs that Tom and Vadim were able to fix, 
but to avoid any confusion, beta2 was removed ... and for tag'ng purposes, 
beta3 is being created ...
  tags/REL7_1_2         7b7fbe9 Correct recently-broken avg(interval) 
definition.  We can't force an initdb to fix this in 7.1 installations, but it 
seems better to be shipping a correct entry than a wrong one.

  tags/REL7_2_BETA1     74644d4 Code cleanup.
  tags/REL7_2_BETA2     f0d9d23 Update for latest version of horology test.
  tags/REL7_2_BETA3     c122aae Some minor tweaks of REINDEX processing: grab 
exclusive lock a little earlier, make error checks more uniform.
  tags/REL7_2_BETA4     374d3a2 tag it as b4, with all the changes that have 
gone on ...
  tags/REL7_2_BETA5     ebb23f8 tag as beta 5 for *hopefully* a very very short 
beta cycle on this one?
  tags/REL7_2_RC1       30f1836 okay, sorry for delay all ... here is the tag 
for RC1 ...
  tags/REL7_2_RC2       7291790 let's roll up rc2 ..
  tags/REL7_2           b8e3d8f Stamp configure/configure.in for 7.2, already 
did register.txt and bug.template.
  tags/REL7_2_3         8ddb964 Brand 7.2.3.
  tags/REL7_2_4         bfb3ddc Brand 7.2.4.
  tags/REL7_2_5         473091d Update 7.2 regression tests to match what you 
get when using a modern version of Bison.
  tags/REL7_2_6         26c477e Stamp release 7.2.6.
  tags/REL7_2_7         cdb721b Recommend secur...@postgresql.org as the 
contact point for security-related bugs.
  tags/REL7_2_8         21f3e3a Update release notes for upcoming re-releases.

  tags/REL7_3_2         652e3c8 Add mention of CURRENT_SCHEMA for object 
creation.
  tags/REL7_3_4         9a46450 Fix timestamp_date for HAVE_INT64_TIMESTAMP 
case.
  tags/REL7_3_5         ebeb0c0 Brand 7.3.5.
  tags/REL7_3_6         718dda1 Brand 7.3.6.
  tags/REL7_3_7         e73b50d Wups, seem to have used an ungood version of 
lynx to generate this.
  tags/REL7_3_8         2291a3f Stamp release 7.3.8.
  tags/REL7_3_9         cdb721b Recommend secur...@postgresql.org as the 
contact point for security-related bugs.
  tags/REL7_3_10        21f3e3a Update release notes for upcoming re-releases.
  tags/REL7_3_11        10c4262 Stamp release 7.3.11.
  tags/REL7_3_12        d65fbbd Stamp 7.3.12.
  tags/REL7_3_13        92ee1dc Release-note updates and copy editing.
  tags/REL7_3_14        bbfa98c Stamp 7.3.14.
  tags/REL7_3_15        b954d6d Stamp release 7.3.15.
  tags/REL7_3_16        7ec7706 Stamp 7.3.16.
  tags/REL7_3_17        ee65483 Fix markup because older releases couldn't like 
to refernce pages.
  tags/REL7_3_18        2edf36f Stamp release 7.3.18.
  tags/REL7_3_19        552a435 Update configure.in for release
  tags/REL7_3_20        f3ab989 Update release notes for last-minute fix.
  tags/REL7_3_21        9ff59c7 Stamp release 7.3.21.

  tags/REL7_4_BETA1     9060870 can't mix and match .gz and .bz2 in here ... 
won't build
  tags/REL7_4_BETA2     f2e55e5 update to beta2
  tags/REL7_4_BETA3     c2481d7 tag her for beta3, as announced on Friday  ...
  tags/REL7_4_BETA4     1df1740 brand her beta4
  tags/REL7_4_BETA5     6803ce7 up configure to beta5
  tags/REL7_4_RC1       5715d2b tag it Release Candidate 1, as previously 
discussed
  tags/REL7_4_RC2       441a921 autoconf
  tags/REL7_4           b1f8cc4 k, tag the release
  tags/REL7_4_1         9d947b0 Update HISTORY for 7.4.1 release.
  tags/REL7_4_2         3462f95 Some editorial work on 7.4.2 release notes.
  tags/REL7_4_3         fc86d4b Remove README.CVS when making a distribution.
  tags/REL7_4_4         a9771b2 Stamp 7.4.4.
  tags/REL7_4_5         6ff4540 Brand 7.4.5 ... now that was our shortest-lived 
release ever ...
  tags/REL7_4_6         0833822 Stamp release 7.4.6.
  tags/REL7_4_7         cdb721b Recommend secur...@postgresql.org as the 
contact point for security-related bugs.
  tags/REL7_4_8         21f3e3a Update release notes for upcoming re-releases.
  tags/REL7_4_9         959dacc COPY's test for read-only transaction was 
backward; it prohibited COPY TO where it should prohibit COPY FROM.  Found by 
Alon Goldshuv.
  tags/REL7_4_10        b250647 Translation updates
  tags/REL7_4_11        92ee1dc Release-note updates and copy editing.
  tags/REL7_4_12        7fb4b1d Stamp 7.4.12.
  tags/REL7_4_13        d6d136f Stamp release 7.4.13.
  tags/REL7_4_14        fedacf2 Stamp 7.4.14.
  tags/REL7_4_15        dd03a59 commit before tag ...
  tags/REL7_4_16        c06c90d Stamp release 7.4.16.
  tags/REL7_4_17        61fc168 Update configure in for new release
  tags/REL7_4_18        f3ab989 Update release notes for last-minute fix.
  tags/REL7_4_19        01d0a31 Stamp release 7.4.19.
  tags/REL7_4_20        f17483e Remove link that pre-8.2 doc tools don't 
support.
  tags/REL7_4_21        7814f48 tag 7.4.21
  tags/REL7_4_22        8bde44d tag for 7.4.22
  tags/REL7_4_23        0b96d5e tag 7.4.23
  tags/REL7_4_24        204cde4 tag 7.4.24
  tags/REL7_4_25        3a5e48a tag 7.4.25

  tags/REL8_0_0BETA1    6eb9cb3 Fix Win32 pg_dumpall check.
  tags/REL8_0_0BETA2    9b01845 tag configure beta2
  tags/REL8_0_0BETA3    3be70cd update for beta3, and update Copyright date to 
2004
  tags/REL8_0_0BETA4    4e175ff make sure we tag configure.in as beta4 as well 
...
  tags/REL8_0_0BETA5    2cdd35b update us to beta5
  tags/REL8_0_0RC1      da9f52d tag configure for rc1 ..
  tags/REL8_0_0RC2      19e8edf tag files for rc2
  tags/REL8_0_0RC3      be040da forgot to autoconf after tag'ng configure.in 
with rc3
  tags/REL8_0_0RC4      7da46c4 upgrade tags to rc4
  tags/REL8_0_0RC5      81f6bcb up release to rc5
  tags/REL8_0_1         cdb721b Recommend secur...@postgresql.org as the 
contact point for security-related bugs.
  tags/REL8_0_2         61f3737 Stamp 8.0.2.
  tags/REL8_0_3         04b942e Rename encryption section.
  tags/REL8_0_4         959dacc COPY's test for read-only transaction was 
backward; it prohibited COPY TO where it should prohibit COPY FROM.  Found by 
Alon Goldshuv.
  tags/REL8_0_5         b250647 Translation updates
  tags/REL8_0_6         92ee1dc Release-note updates and copy editing.
  tags/REL8_0_7         65edf6e Stamp 8.0.7.
  tags/REL8_0_8         991d699 Stamp release 8.0.8.
  tags/REL8_0_9         0d007fb Stamp 8.0.9.
  tags/REL8_0_10        f9dba8f tag it
  tags/REL8_0_11        12f2780 Stamp release 8.0.11.
  tags/REL8_0_12        9988796 Stamp releases notes for 8.2.3, 8.1.8, 8.0.12.
  tags/REL8_0_13        5032c16 Update configure for release
  tags/REL8_0_14        f3ab989 Update release notes for last-minute fix.
  tags/REL8_0_15        89453bc Stamp release 8.0.15.
  tags/REL8_0_16        f17483e Remove link that pre-8.2 doc tools don't 
support.
  tags/REL8_0_17        ba9d7d7 tag 8.0.17
  tags/REL8_0_18        8611315 tag for 8.0.18
  tags/REL8_0_19        e077640 tag for 8.0.19
  tags/REL8_0_20        9f80110 commit first then tag 8.0.20
  tags/REL8_0_21        13651cb tag 8.0.21

  tags/REL8_1_0BETA1    1762d42 fix up a few references to 8.1devel -> 8.1beta1
  tags/REL8_1_0BETA2    6c005da tag it all beta2 ...
  tags/REL8_1_0BETA3    972df1d must commit *after* autoconf, not before
  tags/REL8_1_0BETA4    7b100fc update configure and bugtemplate for beta 4 ...
  tags/REL8_1_0RC1      8dd55b3 tag it for rc1
  tags/REL8_1_0         cdecffb Tag everything for 8.1.0 ... Finally, a relesae 
on scheduale!!
  tags/REL8_1_1         5f6994f Remove incorrect increment of lineno, per David 
Fetter. Sync HEAD and 8.1 branches of pgbench.
  tags/REL8_1_2         92ee1dc Release-note updates and copy editing.
  tags/REL8_1_3         da0a737 Stamp 8.1.3.
  tags/REL8_1_4         d17b9c1 Stamp release 8.1.4.
  tags/REL8_1_5         21eeb6a Stamp 8.1.5.
  tags/REL8_1_6         5558874 Links to GUC variables from HISTORY don't work 
in back branches...
  tags/REL8_1_7         0349a82 Stamp release 8.1.7.
  tags/REL8_1_8         9988796 Stamp releases notes for 8.2.3, 8.1.8, 8.0.12.
  tags/REL8_1_9         2f934c8 Update configure.in for release
  tags/REL8_1_10        f3ab989 Update release notes for last-minute fix.
  tags/REL8_1_11        9ae878a Stamp release 8.1.11.
  tags/REL8_1_12        f17483e Remove link that pre-8.2 doc tools don't 
support.
  tags/REL8_1_13        b2b4697 tag 8.1.13
  tags/REL8_1_14        7cb6c06 tag for 8.1.14
  tags/REL8_1_15        1123c54 tag 8.1.15
  tags/REL8_1_16        d59f5d8 tagging 8.1.16
  tags/REL8_1_17        9ad74fc tag 8.1.17

  tags/REL8_2_BETA1     d1511a2 Tag us Beta1
  tags/REL8_2_BETA2     2630594 Stamp 8.2beta2.
  tags/REL8_2_BETA3     f7ea773 Tag as Beta3 ... two outstanding *known* bugs 
before RC1 ...
  tags/REL8_2_RC1       33061a5 update for rc1
  tags/REL8_2_0         7d3db29 v8.2.0 is now released ...
  tags/REL8_2_1         b878fc4 tag configure
  tags/REL8_2_2         538ed7c Stamp release 8.2.2.
  tags/REL8_2_3         9988796 Stamp releases notes for 8.2.3, 8.1.8, 8.0.12.
  tags/REL8_2_4         96acc85 Fix markup.
  tags/REL8_2_5         f3ab989 Update release notes for last-minute fix.
  tags/REL8_2_6         019e5ea Stamp release 8.2.6.
  tags/REL8_2_7         08a055a Translation updates
  tags/REL8_2_8         34b0b9f tag 8.2.8
  tags/REL8_2_9         b117db0 tag 8.2.9
  tags/REL8_2_10        25afb91 tag for 8.2.10
  tags/REL8_2_11        aedcad2 tag 8.2.11
  tags/REL8_2_12        37a9110 tag 8.2.12
  tags/REL8_2_13        9f8fa50 tag 8.2.13
  tags/REL8_3_BETA1     0d74383 tag it 8.3beta1 ... the beta cycle begins
  tags/REL8_3_BETA2     28343c6 Stamp 8.3beta2.
  tags/REL8_3_BETA3     0b5494d Fix markup that doesn't work in HISTORY 
generation.
  tags/REL8_3_BETA4     60becb8 Stamp 8.3beta4.
  tags/REL8_3_RC1       b28079b Stamp release 8.3RC1.
  tags/REL8_3_RC2       17a82cf must commit after autoconf ... and yes, I used 
the right autoconf
  tags/REL8_3_0         0126093 configure tag'd 8.3.0 and built witih autoconf 
2.59
  tags/REL8_3_1         7e8f8b2 Fix inappropriately-timed memory context switch 
in autovacuum_do_vac_analyze. This accidentally failed to failbefore 8.3, 
because the context we were switching back to was long-lived anyway; but it 
sure looks risky as can be now.  Well spotted by Pavan Deolasee.
  tags/REL8_3_2         2343441 tag for 8.3.2
  tags/REL8_3_3         84d7f08 tag 8.3.3
  tags/REL8_3_4         08f7e02 tag for 8.3.4
  tags/REL8_3_5         aed4eac commit for 8.3.5
  tags/REL8_3_6         8e9babe Fix plpgsql to not treat INSERT INTO as an 
INTO-variables clause anywhere in the string, not just at the start.  Per bug 
#4629 from Martin Blazek.
  tags/REL8_3_7         98b774c tag 8.3.7

  tags/REL8_4_BETA1     6c313e8 commit and tag beta1
  tags/REL8_4_BETA2     6e61436 commit for BETA2

  tags/Release-1-6-0    7e5f5ea creation for postgresql-6.1
  tags/Release_1_0_2    f720353 Okay...*last* commit, now to create a release...
  tags/Release_2_0      c081f4a | |Here is a fix for the psql alignment 
problem.  It turns out that libpq |was trying to determine if the column 
contained only numeric values so |it could right justify it.  The 'e' values 
were taked as exponient |values and all columns were considerednumeric. | |The 
patch excludes 'e' and 'E' as being valid first-column numeric |values. |
  tags/Release_2_0_0    b185bb0 changed missed err() change to err_out()
  tags/SUPPORT          2ffc02d Support Docs & Contrib
  tags/creation         7e5f5ea creation for postgresql-6.1
  tags/release-6-3      5b4a2e7 One last change to configure for 'non-gcc' 
compiler

a.


-- 
Aidan Van Dyk                                             Create like a god,
ai...@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

Attachment: signature.asc
Description: Digital signature

Reply via email to