Thread: .cvsignore update...

.cvsignore update...

From
Sean Chittenden
Date:
I don't know that there's a consistent approach to .cvsignore files in
PostgreSQL's repo, but, there are some of these files scattered around,
but it's far from complete.  The attached patch either updates (in a
few few cases) or adds .cvsignore files.  The .cvsignore files in this
patch don't include .gdb_history, .emacs.desktop, or .DS_Store files,
but I figure those users are in the minority.  This both greatly speeds
up updates (CVS is no longer being braindead and doing across the wire
binary compares for a file that the repo doesn't have or compares for
generated files) and reduces the output from 'cvs up' considerably,
which I find makes the output much easier to digest.  Anon-cvs
administrators will also be thankful for this reduction of CPU and
network... if they're busy enough of a hub.

I'm of two minds about this.  The first being to rip all .cvsignore
files out of the repo and let every developer administer their own
.cvsignore files.  This would let developers taylor their .cvsignore
files to include .emacs.desktop, .gdb_history, etc, but comes at the
cost of a fair amount of duplication of effort.  The flip side being,
there seems to be some president to keep .cvsignore files around but
appears as though the work just hasn't been done to keep things up to
date.  If that's the case, here's the work.

Because there area  large number of files in question, I've included
the appropriate cvs add [filenames] and cvs ci [filenames] commands so
that this can be added in one go  (the file list for the cvs add is
different than the cvs ci).

-sc

cvs add .cvsignore contrib/pg_autovacuum/.cvsignore
contrib/pgcrypto/.cvsignore src/.cvsignore src/backend/.cvsignore
src/backend/catalog/.cvsignore
src/backend/utils/mb/conversion_procs/.cvsignore
src/backend/utils/mb/conversion_procs/ascii_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/cyrillic_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_cn_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/.cvsignore
src/backend/utils/mb/conversion_procs/euc_kr_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_tw_and_big5/.cvsignore
src/backend/utils/mb/conversion_procs/latin2_and_win1250/.cvsignore
src/backend/utils/mb/conversion_procs/latin_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_ascii/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_big5/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_gb18030/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_gbk/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_iso8859/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_johab/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_sjis/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_tcvn/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_uhc/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win1250/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win1256/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win874/.cvsignore
src/bin/initdb/.cvsignore src/bin/initlocation/.cvsignore
src/bin/ipcclean/.cvsignore src/bin/pg_config/.cvsignore
src/bin/pg_controldata/.cvsignore src/bin/pg_ctl/.cvsignore
src/bin/pg_dump/.cvsignore src/bin/pg_encoding/.cvsignore
src/bin/pg_resetxlog/.cvsignore src/bin/scripts/.cvsignore
src/include/.cvsignore src/interfaces/ecpg/compatlib/.cvsignore
src/interfaces/ecpg/ecpglib/.cvsignore
src/interfaces/ecpg/pgtypeslib/.cvsignore
src/interfaces/libpq/.cvsignore src/port/.cvsignore
src/timezone/.cvsignore

cvs ci .cvsignore contrib/pg_autovacuum/.cvsignore
contrib/pgcrypto/.cvsignore src/.cvsignore src/backend/.cvsignore
src/backend/catalog/.cvsignore
src/backend/utils/mb/conversion_procs/.cvsignore
src/backend/utils/mb/conversion_procs/ascii_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/cyrillic_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_cn_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/.cvsignore
src/backend/utils/mb/conversion_procs/euc_kr_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/euc_tw_and_big5/.cvsignore
src/backend/utils/mb/conversion_procs/latin2_and_win1250/.cvsignore
src/backend/utils/mb/conversion_procs/latin_and_mic/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_ascii/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_big5/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_gb18030/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_gbk/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_iso8859/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_johab/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_sjis/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_tcvn/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_uhc/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win1250/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win1256/.cvsignore
src/backend/utils/mb/conversion_procs/utf8_and_win874/.cvsignore
src/bin/initdb/.cvsignore src/bin/initlocation/.cvsignore
src/bin/ipcclean/.cvsignore src/bin/pg_config/.cvsignore
src/bin/pg_controldata/.cvsignore src/bin/pg_ctl/.cvsignore
src/bin/pg_dump/.cvsignore src/bin/pg_encoding/.cvsignore
src/bin/pg_resetxlog/.cvsignore src/bin/psql/.cvsignore
src/bin/scripts/.cvsignore src/include/.cvsignore
src/interfaces/ecpg/compatlib/.cvsignore
src/interfaces/ecpg/ecpglib/.cvsignore
src/interfaces/ecpg/pgtypeslib/.cvsignore
src/interfaces/ecpg/preproc/.cvsignore src/interfaces/libpq/.cvsignore
src/pl/plpgsql/src/.cvsignore src/port/.cvsignore
src/timezone/.cvsignore



--
Sean Chittenden

Attachment

Re: .cvsignore update...

From
Tom Lane
Date:
Sean Chittenden <sean@chittenden.org> writes:
> The attached patch either updates (in a
> few few cases) or adds .cvsignore files.

I don't believe we need any of these.  The current set is sufficient to
prevent any CVS complaints in a "make distclean"'d tree, and that is the
way it should be.  Extra .cvsignores are dangerous IMHO.

If you like to live dangerously and not make distclean before you cvs
update, then use a vpath build (separate build tree).  There's no reason
to have to maintain a large set of .cvsignore files.

            regards, tom lane

Re: .cvsignore update...

From
Christopher Kings-Lynne
Date:
> If you like to live dangerously and not make distclean before you cvs
> update, then use a vpath build (separate build tree).  There's no reason
> to have to maintain a large set of .cvsignore files.

How does one do a vpatch build?  (I live dangerously)

Chris


Re: .cvsignore update...

From
Tom Lane
Date:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
>> If you like to live dangerously and not make distclean before you cvs
>> update, then use a vpath build (separate build tree).  There's no reason
>> to have to maintain a large set of .cvsignore files.

> How does one do a vpatch build?  (I live dangerously)

Say your CVS checkout is in ~/pgsql, and you make a build directory
at ~/build.  You go
    cd ~/build
    ../pgsql/configure [args as usual]
    make
    make install
    ...etc...

This touches no files under ~/pgsql, except for possibly updating the
architecture-independent derived files (gram.c and so forth).  The
original intent of the feature, I think, was to simplify building for
multiple architectures.

            regards, tom lane

Re: .cvsignore update...

From
Peter Eisentraut
Date:
Christopher Kings-Lynne wrote:
> > If you like to live dangerously and not make distclean before you
> > cvs update, then use a vpath build (separate build tree).  There's
> > no reason to have to maintain a large set of .cvsignore files.
>
> How does one do a vpatch build?  (I live dangerously)

cd /else/where
mkdir pgbuild (or whatever)
cd pgbuild
../../../where/ever/pgsql/configure
make
make install

This basically separates the built files from the source files.  So when
you do a CVS update and you forgot to clean beforehand, then you can
just delete the directory.

Then again, the really recommended way to "live dangerously" is to use
--enable-depend.  This should always be safe except when there are
major reorganizations in the source tree.  (Some people don't trust
this, but I do.)



Re: .cvsignore update...

From
Christopher Kings-Lynne
Date:
> This basically separates the built files from the source files.  So when
> you do a CVS update and you forgot to clean beforehand, then you can
> just delete the directory.
>
> Then again, the really recommended way to "live dangerously" is to use
> --enable-depend.  This should always be safe except when there are
> major reorganizations in the source tree.  (Some people don't trust
> this, but I do.)

Yeah, that's what I do.  Some of bruce's recent locale stuff broke that
even so and I had to make distclean.

Chris