Remember the CVS problems I had grabbing the logs from just one branch
of cvs?

Well, it turns out it is a cvs bug.  CVS is fine with showing logs from
just a branch iff the file existed when the branch was created.  For
post-branch files like pgsql/GNUmakefile.in, you see all changes.

I received e-mails from the cvs 'log' maintainer, which are attached. 
He explained the problem and gave me a workaround.  He is going to try
and get the bug fixed.

I have modified pgcvslog to show the workaround, and have attached the
output.  Seems cvs2cl works around this problem somehow.

---------------------------------------------------------------------------



>From [EMAIL PROTECTED] Fri Nov  3 15:07:53 2000
Received: from foghorn.airs.com (IDENT:[EMAIL PROTECTED] [63.201.54.26])
        by candle.pha.pa.us (8.9.0/8.9.0) with SMTP id PAA24342
        for <[EMAIL PROTECTED]>; Fri, 3 Nov 2000 15:07:51 -0500 (EST)
Received: (qmail 1388 invoked by uid 10); 3 Nov 2000 20:07:47 -0000
Received: (qmail 15262 invoked by uid 269); 3 Nov 2000 20:07:44 -0000
Message-ID: <[EMAIL PROTECTED]>
Date: 3 Nov 2000 12:07:44 -0800
From: Ian Lance Taylor <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from Bruce
        Momjian on Fri, 3 Nov 2000 10:11:37 -0500 (EST))
Subject: Re: [HACKERS] 7.0.3 branded
References:  <[EMAIL PROTECTED]>
Status: ORr

   From: Bruce Momjian <[EMAIL PROTECTED]>
   Date: Fri, 3 Nov 2000 10:11:37 -0500 (EST)

   > On a related note, what tag should I give to cvs to get code from the
   > 7.0.3 branch?  Is it REL7_0_PATCHES?

   It is.  I can grab the cvs using that tag, but can not grab log entries
   using that tag.  No one seems to know why it doesn't work.

What are you trying to do?  In what way does it not work as you
expect?

I just tried to find a file which was changed on the REL7_0_PATCHES
branches, but I failed.  I was probably doing something wrong.

(I used to be a CVS maintainer--technically, I suppose I still am--so
I know something about how CVS works.)

Ian

>From [EMAIL PROTECTED] Fri Nov  3 15:29:40 2000
Received: from foghorn.airs.com (IDENT:[EMAIL PROTECTED] [63.201.54.26])
        by candle.pha.pa.us (8.9.0/8.9.0) with SMTP id PAA24969
        for <[EMAIL PROTECTED]>; Fri, 3 Nov 2000 15:29:39 -0500 (EST)
Received: (qmail 1536 invoked by uid 10); 3 Nov 2000 20:29:40 -0000
Received: (qmail 15422 invoked by uid 269); 3 Nov 2000 20:29:32 -0000
Message-ID: <[EMAIL PROTECTED]>
Date: 3 Nov 2000 12:29:32 -0800
From: Ian Lance Taylor <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from Bruce
        Momjian on Fri, 3 Nov 2000 15:11:00 -0500 (EST))
Subject: Re: [HACKERS] 7.0.3 branded
References:  <[EMAIL PROTECTED]>
Status: ORr

   From: Bruce Momjian <[EMAIL PROTECTED]>
   Date: Fri, 3 Nov 2000 15:11:00 -0500 (EST)

           cvs log -rREL7_0_PATCHES

   I want just log entries that are part of the branch.  I get all entries.

What I see when I try this is that for files which have the
REL7_0_PATCHES tag (i.e., files which are on the branch), I see only
log entries for the branch.  For files which are do not have the
REL7_0_PATCHES tag (i.e., are not on the branch), I see all log
entries.

For example, in the top pgsql directory,
    cvs log -rREL7_0_PATCHES HISTORY
gives me only log entries for the branch for the HISTORY file.
However,
    cvs log -rREL7_0_PATCHES GNUmakefile.in
gives me all log entries.  It also gives me this warning:
    cvs server: warning: no revision `REL7_0_PATCHES' in 
`/home/projects/pgsql/cvsroot/pgsql/GNUmakefile.in,v'

Is this also what you see?

The natural way to fix this ought to be
    cvs co -rREL7_0_PATCHES pgsql
    cvs log .
Unfortunately, I tried it, and cvs log, I believe erroneously, seems
to pick up all files in the directory, even if they have not been
checked out.

I can tell you a hideous kludge to avoid this, but I can't claim that
it is the way to operate.  Check out the branch using the -r option as
above.  Then do this:
    find . -name CVS -type d -exec touch '{}/Entries.Static' \;
After that, in the same directory, do
    cvs log -rREL7_0_PATCHES

I'd hate to have to explain why that works.

Which version of CVS are you running on the server?  When I find some
time I'll see about fixing cvs log.

Ian

>From [EMAIL PROTECTED] Fri Nov  3 15:48:15 2000
Received: from foghorn.airs.com (IDENT:[EMAIL PROTECTED] [63.201.54.26])
        by candle.pha.pa.us (8.9.0/8.9.0) with SMTP id PAA25678
        for <[EMAIL PROTECTED]>; Fri, 3 Nov 2000 15:48:14 -0500 (EST)
Received: (qmail 1742 invoked by uid 10); 3 Nov 2000 20:48:15 -0000
Received: (qmail 15565 invoked by uid 269); 3 Nov 2000 20:48:07 -0000
Message-ID: <[EMAIL PROTECTED]>
Date: 3 Nov 2000 12:48:07 -0800
From: Ian Lance Taylor <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
In-reply-to: <[EMAIL PROTECTED]> (message from Bruce
        Momjian on Fri, 3 Nov 2000 15:35:01 -0500 (EST))
Subject: Re: [HACKERS] 7.0.3 branded
References:  <[EMAIL PROTECTED]>
Status: ORr

   From: Bruce Momjian <[EMAIL PROTECTED]>
   Date: Fri, 3 Nov 2000 15:35:01 -0500 (EST)

   > The natural way to fix this ought to be
   >     cvs co -rREL7_0_PATCHES pgsql
   >     cvs log .
   > Unfortunately, I tried it, and cvs log, I believe erroneously, seems
   > to pick up all files in the directory, even if they have not been
   > checked out.
   > 
   > I can tell you a hideous kludge to avoid this, but I can't claim that
   > it is the way to operate.  Check out the branch using the -r option as
   > above.  Then do this:
   >     find . -name CVS -type d -exec touch '{}/Entries.Static' \;
   > After that, in the same directory, do
   >     cvs log -rREL7_0_PATCHES
   > 
   > I'd hate to have to explain why that works.

   Does this cause any other problems, or does it just affect log?

The main effect is that a cvs update in that directory will not pick
up any newly added files.  That will catch you by surprise after a
while, so I wouldn't recommend leaving the Entries.Static files around
forever.

   > Which version of CVS are you running on the server?  When I find some
   > time I'll see about fixing cvs log.

       Concurrent Versions System (CVS) 1.10.3 (client/server)

   I couldn't imagine cvs was so broken as to do what it is doing, so I
   concluded I was doing something wrong.  Can I share this email with the
   hackers list?

CVS is a long aggregation of hacks.  Heck, the first version was a
bunch of shell scripts.  Since there is no theory underlying CVS, it's
easy to get the corner cases wrong unless you test them.  I would
guess that the author of the current cvs log implementation didn't
test this sort of thing.  (The author in question was, um, me,
although I think I might be able to blame John Gilmore for this
particular feature.)

Yes, please go ahead and share these e-mail messages if you like.

By the way, I gather you spoke with Nathan Meyers at the free database
summit.  I'm co-founder and CTO of Zembu, where he works.

Ian


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

                                                                 momjian
/doc/FAQ

 Update FAQ.

---
                                                                 momjian
/doc/FAQ_BSDI

 Update bsdi faq.

---
                                                                 momjian
/doc/FAQ_DEV

 update developers faq

---
                                                                 momjian
/src/interfaces/jdbc/postgresql/jdbc1/DatabaseMetaData.java

 Brand 7.1 release.  Also update jdbc version in release branch.

---
                                                                 momjian
/src/interfaces/jdbc/postgresql/jdbc2/DatabaseMetaData.java

 Brand 7.1 release.  Also update jdbc version in release branch.

---
                                                                  thomas
/doc/src/sgml/inherit.sgml
/doc/src/sgml/query.sgml
/doc/src/sgml/release.sgml

 Fix markup to allow doc building.

---
                                                                  thomas
/doc/src/sgml/sql.sgml

 Fix markup to allow doc building.

---
                                                                 momjian
/src/interfaces/jdbc/CHANGELOG
/src/interfaces/jdbc/Makefile
/src/interfaces/jdbc/example/basic.java
/src/interfaces/jdbc/org/postgresql/Connection.java
/src/interfaces/jdbc/org/postgresql/ResultSet.java
/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java
/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java
/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java

 Backpatch jdbc fixes into 7.0.X.

---
                                                                 momjian
/src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java

 Backpatch jdbc fixes into 7.0.X.

---
                                                                     tgl
/src/backend/storage/large_object/inv_api.c

 Back-patch large-object fix.

---
                                                                 momjian
/doc/FAQ

 Update FAQ.

---
                                                                     tgl
/src/backend/commands/copy.c

 Back-patch COPY WITH OIDS leak fix.

---
                                                                     tgl
/src/backend/utils/adt/like.c
/src/backend/utils/adt/regexp.c
/src/backend/utils/adt/varchar.c

 Back-patch StrNCpy fix.

---
                                                                     tgl
/src/backend/optimizer/path/indxpath.c

 Backpatch backwards-index-scan fix.

---
                                                                   ishii
/src/backend/utils/time/tqual.c

 SELECT ... FOR UPDATE neglects duplicate key checking.
 patches submitted by Hiroshi Inoue.

---
                                                                     tgl
/src/backend/optimizer/plan/planner.c

 Back-patch primary fix for planner recursion bug.

---
                                                                 scrappy
/src/configure
/src/configure.in

 
 backpatch the --enable-syslog functionality to REL7_0 branch

---
                                                                 scrappy
/src/configure
/src/configure.in

 
 oops, in v7.x its USE_SYSLOG, not ENABLE_SYSLOG
 modify config.h.in so that it gets set by configure properly

---
                                                                 scrappy
/src/include/config.h.in

 
 oops, in v7.x its USE_SYSLOG, not ENABLE_SYSLOG
 modify config.h.in so that it gets set by configure properly

---
                                                                     tgl
/src/backend/tcop/postgres.c

 Back-patch fix to ensure we abort any open transaction at backend exit.

---
                                                                   ishii
/src/bin/psql/describe.c

 Fix psql crash. If MULTIBYTE is enabled, \l+ dumps core due to
 SQL buffer in listAllDbs is just too small.

---
                                                                     tgl
/src/include/executor/nodeMaterial.h
/src/backend/executor/execAmi.c
/src/backend/executor/nodeMaterial.c

 Back-patch fix for bogus plans involving non-mark/restorable plan
 as inner plan of a mergejoin.

---
                                                                     tgl
/src/backend/optimizer/plan/createplan.c

 Back-patch fix for bogus plans involving non-mark/restorable plan
 as inner plan of a mergejoin.

---
                                                                   ishii
/src/pl/plpgsql/src/scan.l

 Allow PL/pgSQL accept non ascii identifiers

---
                                                                     tgl
/src/backend/commands/vacuum.c

 Back-patch fix to ensure that VACUUM always calls FlushRelationBuffers.

---
                                                                   inoue
/src/backend/storage/lmgr/proc.c

 Cancel request while waiting for a lock should try to wake
 up sleeping processes.

---
                                                                     tgl
/src/bin/psql/help.c

 Back-patch fix for erroneous free() of getpwuid() result.

---
                                                                     tgl
/src/interfaces/odbc/info.c

 Back-patch fix to remove bogus use of int4out().

---
                                                                     tgl
/src/backend/optimizer/plan/subselect.c

 Back-patch fix to copy sub-Query nodes before planning them.  This
 fixes problems with subselects appearing in contexts like COALESCE or
 BETWEEN, where parser will make multiple links to same subexpression.

---
                                                                     tgl
/src/backend/utils/adt/ri_triggers.c

 Apply Jeroen van Vianen's patch for failure to check heap_openr failure
 in RI triggers.  This is fixed in another way in current sources, but
 might as well apply this patch to REL7_0 branch so that 7.0.3 need not
 suffer this crash.

---
                                                                     tgl
/src/backend/utils/adt/selfuncs.c

 Back-patch fix for erroneous selectivity of not-equals.

---
                                                                     tgl
/src/backend/utils/adt/ruleutils.c

 Back-patch fix for erroneous use of strcmp().

---
                                                                     tgl
/src/backend/storage/smgr/md.c

 Back-patch fix for 'Sorcerer's Apprentice' syndrome wherein md.c would
 create a vast quantity of zero-length files if asked to access a block
 number far beyond the actual end of a relation.

---
                                                                     tgl
/src/backend/storage/smgr/smgr.c

 Back-patch fix to include kernel errno message in all smgr elog messages.

---
                                                                     tgl
/src/pl/tcl/Makefile
/src/bin/pgtclsh/Makefile

 Back-patch fix for '.' not in PATH at build time, per SL Baur.

---
                                                                     tgl
/src/backend/storage/file/fd.c

 Back-patch fix that allows AllocateFile() to return errno=ENFILE/EMFILE
 after we are no longer able to close any more VFDs.  This is needed to
 avoid postmaster crash under out-of-file-descriptors conditions.

---
                                                                     tgl
/src/bin/pg_dump/pg_dump.c
/src/bin/pg_dump/pg_dump.h

 Back-patch fix to make pg_dump dump 'iscachable' flag for functions.

---
                                                                     tgl
/src/backend/optimizer/plan/setrefs.c

 Back-patch fix for subselect in targetlist of Append node.

---
                                                                     tgl
/src/include/optimizer/paths.h
/src/include/optimizer/planmain.h
/src/backend/optimizer/path/pathkeys.c
/src/backend/optimizer/plan/initsplan.c
/src/backend/optimizer/plan/planmain.c

 Back-patch code to deduce implied equalities from transitivity of
 mergejoin clauses, and add these equalities to the given WHERE clauses.
 This is necessary to ensure that sort keys we think are equivalent
 really are equivalent as soon as their rels have been joined.  Without
 this, 7.0 may create an incorrect mergejoin plan.

---
                                                                     tgl
/src/backend/storage/buffer/bufmgr.c

 Back-patch fix to grab read lock on a buffer while it is written out.

---
                                                                     tgl
/src/backend/catalog/heap.c

 Back-patch fix for TRUNCATE failure on relations with indexes.

---
                                                                   inoue
/src/backend/storage/buffer/bufmgr.c

 avoid database-wide restart on write error

---
                                                                     tgl
/src/backend/executor/nodeMaterial.c

 Back-patch nodeMaterial to honor chgParam by recomputing its output.

---
                                                                     tgl
/src/backend/commands/vacuum.c

 Patch VACUUM problem with moving chain of update tuples when source
 and destination of a tuple lie on the same page.

---
                                                                     tgl
/src/backend/commands/user.c

 Back-patch CommandCounterIncrement fix.

---
                                                                     tgl
/src/backend/utils/adt/formatting.c

 Back-patch fix for AM/PM boundary problem in to_char().
 Fix from Karel Zak, 10/18/00.

---
                                                                     tgl
/src/backend/utils/adt/date.c

 Fix time_larger, time_smaller, timetz_larger, timetz_smaller to meet
 nodeAgg.c's expectation that aggregate transition functions never return
 pointers to their input values.  This is fixed in a much better way in
 current sources, but in 7.0.* it's gotta be done like this.

---
                                                                     tgl
/src/backend/utils/adt/formatting.c

 Fix to_char() to avoid coredump on NULL input.  Not needed in current
 sources due to fmgr rewrite, but 7.0.3 can use the patch...

---
                                                                     tgl
/src/backend/storage/buffer/bufmgr.c

 Back-patch fix for bogus clearing of BufferDirtiedByMe.

---
                                                                   ishii
/src/backend/utils/adt/varchar.c

 Fix for inserting/copying longer multibyte strings into bpchar data
 types.

---
                                                                   wieck
/src/bin/pg_dump/Makefile.in

 New dump utility script pg_dumpaccounts.
 
 Dumps pg_shadow and pg_group (derived from pg_dumpall).
 
 Jan

---
                                                                   wieck
/src/bin/pg_dump/Makefile.in

 Revoked changes for pg_dumpaccounts
 
 Script will go into the contrib directory.
 
 Jan

---
                                                                   wieck
/contrib/pg_dumpaccounts/Makefile
/contrib/pg_dumpaccounts/README

 Added pg_dumpaccounts utility script in contrib.
 
 Derived from pg_dumpall it just dumps the pg_shadow and
 pg_group contents.
 
 Jan

---
                                                                   wieck
/contrib/pg_dumpaccounts/pg_dumpaccounts

 Added pg_dumpaccounts utility script in contrib.
 
 Derived from pg_dumpall it just dumps the pg_shadow and
 pg_group contents.
 
 Jan

---
                                                                 momjian
/HISTORY
/INSTALL
/README
/register.txt
/doc/FAQ
/doc/TODO
/doc/bug.template
/doc/src/FAQ.html
/doc/src/sgml/install.sgml
/doc/src/sgml/release.sgml
/src/include/version.h.in
/src/interfaces/jdbc/postgresql/jdbc1/DatabaseMetaData.java
/src/interfaces/jdbc/postgresql/jdbc2/DatabaseMetaData.java
/src/interfaces/libpq/libpq.rc

 Brand 7.0.3.

---
                                                                 momjian
/HISTORY
/doc/src/sgml/release.sgml

 cleanup

---

Reply via email to