Re: .cvsignore file
От | Rod Taylor |
---|---|
Тема | Re: .cvsignore file |
Дата | |
Msg-id | 1034434660.6674.110.camel@jester обсуждение исходный текст |
Ответ на | Re: .cvsignore file (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: .cvsignore file
|
Список | pgsql-patches |
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
В списке pgsql-patches по дате отправления: