Обсуждение: .cvsignore file

Поиск
Список
Период
Сортировка

.cvsignore file

От
Rod Taylor
Дата:
Add ignore file to doc/src/sgml

Makes cvs diff go by quicker on a compiled tree as it doesn't ask the
repo about the new .html files.
--
  Rod Taylor

Вложения

Re: .cvsignore file

От
Tom Lane
Дата:
Rod Taylor <rbt@rbt.ca> writes:
> Add ignore file to doc/src/sgml

> Makes cvs diff go by quicker on a compiled tree as it doesn't ask the
> repo about the new .html files.

This strikes me as a bad idea.  We use .cvsignore only for files that
should survive "make distclean", which the built docs files surely
shouldn't.

            regards, tom lane

Re: .cvsignore file

От
Rod Taylor
Дата:
On Fri, 2002-10-11 at 00:22, Tom Lane wrote:
> Rod Taylor <rbt@rbt.ca> writes:
> > Add ignore file to doc/src/sgml
>
> > Makes cvs diff go by quicker on a compiled tree as it doesn't ask the
> > repo about the new .html files.
>
> This strikes me as a bad idea.  We use .cvsignore only for files that
> should survive "make distclean", which the built docs files surely
> shouldn't.

Why not ignore the set of compiled files as well?  I realize its a much
larger list, but seems a fairly common thing to do.  It does prevent the
overhead with CVS server in the event someone does check against a
compiled tree.

Doesn't really hurt anything either way.

--
  Rod Taylor


Re: .cvsignore file

От
Alvaro Herrera
Дата:
On Fri, Oct 11, 2002 at 07:56:14AM -0400, Rod Taylor wrote:

> Why not ignore the set of compiled files as well?  I realize its a much
> larger list, but seems a fairly common thing to do.  It does prevent the
> overhead with CVS server in the event someone does check against a
> compiled tree.

Yeah, it would also help clean the output of cvs diff, automatically
ignoring files that aren't important.  I always have to clean it up...

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"No reniegues de lo que alguna vez creíste"

Re: .cvsignore file

От
Tom Lane
Дата:
Rod Taylor <rbt@rbt.ca> writes:
> On Fri, 2002-10-11 at 00:22, Tom Lane wrote:
>> This strikes me as a bad idea.  We use .cvsignore only for files that
>> should survive "make distclean", which the built docs files surely
>> shouldn't.

> Why not ignore the set of compiled files as well?  I realize its a much
> larger list, but seems a fairly common thing to do.

Well, exactly, it's a much larger list, and hence a much larger
maintenance effort.  If it were near-zero cost to maintain then
I'd be okay with it ... but right now, it seems most reasonable
to expect people to do "make distclean" before they try a "cvs diff".

In practice, you have to be mighty savvy to do "cvs update"s without a
"make distclean" beforehand --- I don't ever risk it myself; the extra
machine cycles for a full rebuild are way cheaper than my time to debug
an incomplete rebuild.  So I have little concern for the "cvs diff"
case.

            regards, tom lane

Re: .cvsignore file

От
Rod Taylor
Дата:
On Sat, 2002-10-12 at 00:56, Tom Lane wrote:
> Rod Taylor <rbt@rbt.ca> writes:
> > On Fri, 2002-10-11 at 00:22, Tom Lane wrote:
> >> This strikes me as a bad idea.  We use .cvsignore only for files that
> >> should survive "make distclean", which the built docs files surely
> >> shouldn't.
>
> > Why not ignore the set of compiled files as well?  I realize its a much
> > larger list, but seems a fairly common thing to do.
>
> Well, exactly, it's a much larger list, and hence a much larger
> maintenance effort.  If it were near-zero cost to maintain then
> I'd be okay with it ... but right now, it seems most reasonable
> to expect people to do "make distclean" before they try a "cvs diff".
>
> In practice, you have to be mighty savvy to do "cvs update"s without a
> "make distclean" beforehand --- I don't ever risk it myself; the extra
> machine cycles for a full rebuild are way cheaper than my time to debug
> an incomplete rebuild.  So I have little concern for the "cvs diff"
> case.

Yes, before updating you definitely want to do that, but it usually
takes me a few tries to undo parts where I've gone wrong.  So diffs
regularly happen along the way.

Anyway, don't maintain by hand

The below should make .cvsignore entries for most files.  I can test it,
and clean it up to be put under src/tools if wanted if this method is
ok.  No, it's not perfect but running it shortly before or after a
pgindent run would cover 90% of the cases.


#!/bin/sh
# Run from PGSQL directory
./configure
find * -name .cvsignore -delete
make all check
cd doc/src && make all && cd ..
cvs diff 2>&1 | perl -e '
  while ($line = <STDIN>)
  {
    chomp($line);
    if ($line =~ /^\?\s.*\/.*/)
    {
      $line =~ s/^\?\s(.*\/)([^\/]+)$/echo \"$2\" >> $1.cvsignore\n/;
      print $line;
    } elsif ($line =~ /^\?\s/)
    {
      $line =~ s/^\?\s([^\/]+)$/echo \"$1\" >> .cvsignore\n/;
      print $line;
    }
  }' | sh


--
  Rod Taylor


Re: .cvsignore file

От
Tom Lane
Дата:
Rod Taylor <rbt@rbt.ca> writes:
> Anyway, don't maintain by hand

> find * -name .cvsignore -delete

That's a rather draconian implementation of the "don't maintain by hand"
notion.  I don't think it will coexist well with having .cvsignore files
in CVS ...

            regards, tom lane