I've attached another patch with the files in the project root prefixed with a /.
As stated in my last mail, I believe that splitting the .gitignore file into multiple small ones across directories isn't worth the effort and any speedup it may provide will not be quantifiable in the forseeable future. Hence, this patch contains only a single .gitignore for the complete project. If others feel that splitting the gitignore file is the best way forward, we can discuss that and make the relevant changes to the patch. Simultaneously, I'd also like to request everyone to test this patch out to see of I've missed any autogenerated files in the project. On Thu, Jul 24, 2014 at 2:11 PM, Darshit Shah <[email protected]> wrote: > On Thu, Jul 24, 2014 at 2:00 PM, Duy Nguyen <[email protected]> wrote: >> On Thu, Jul 24, 2014 at 2:12 PM, Darshit Shah <[email protected]> wrote: >>> Probably. I simply redirected the output of 'git status' and manually >>> sorted them into the directories. >> >> Split them in multiple .gitignore (per directory) is good. A single >> large .gitignore may slow things down. See >> http://article.gmane.org/gmane.comp.version-control.git/194294 >> > Thanks for the link! Thinking about it, one should have expected that. > However, Wget is not WebKit. We don't have a large number of files and > the number isn't increasing over time at any significant rate. `time > git status` on my machine with the above gitignore file takes 0.05s. > Is any speedup beyond this worth the effort of maintaining several > different gitignore files? > >>> However why is a slash prefix a good idea? >> >> It gives git a hint that these entries only apply to top-level >> directory, so git can ignore them when examining subdirectories >> > This on the other hand is a nearly effortless way of getting a small > speedup in git. I'll add those. > >>> >>> -- >>> Sent from Mailbox >>> >>> On Thu, Jul 24, 2014 at 12:52 AM, Ángel González <[email protected]> >>> wrote: >>> >>>> Darshit Shah wrote: >>>>> Hi, >>>>> >>>>> When building the repository sources, a large number of files are >>>>> autogenerated and hence are not version controlled in git. >>>>> However, all these files pollute the output of commands like `git >>>>> status`. The only way around it is to place all the autogenerated >>>>> files in a single .gitignore file and share it with the repository >>>>> itself. >>>>> >>>>> I've compiled a .gitignore that can be used in Wget's repository. This >>>>> file ignores all the autogenerated files due to bootstrap, configure, >>>>> make and make check. >>>>> On top of it, I've also ignored some extra files like tags and >>>>> cscope.out which I assume a lot of developers are probably using. I've >>>>> attached the file for everyone's convenience here. Maybe we can ship >>>>> this file with the sources itself? >>>> +1 >>>> But I would prefix with a slash the files in the Project Root. >> >> >> >> -- >> Duy > > > > -- > Thanking You, > Darshit Shah -- Thanking You, Darshit Shah
From c2e9c4e92f0b8f818c2ce8900d9772d28c3fac6b Mon Sep 17 00:00:00 2001 From: Darshit Shah <[email protected]> Date: Fri, 25 Jul 2014 13:00:39 +0530 Subject: [PATCH] Add a project gitignore file --- .gitignore | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ChangeLog | 4 +++ 2 files changed, 95 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2b3c596 --- /dev/null +++ b/.gitignore @@ -0,0 +1,91 @@ +# Project Root +/.sc-start-sc_bindtextdomain +/.sc-start-sc_prohibit_HAVE_MBRTOWC +/.version +/GNUmakefile +/INSTALL +/Makefile +/Makefile.in +/aclocal.m4 +/autom4te.cache/ +/config.cache +/config.log +/config.status +/configure +/lib/ +/maint.mk +# Wildcard Ignores +*~ +po/*.gmo* +po/*.po* +src/*.o +testenv/*.log +testenv/*.trs +# build-aux/ +build-aux/.gitignore +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/mdate-sh +build-aux/missing +build-aux/snippet/ +build-aux/test-driver +build-aux/texinfo.tex +# doc/ +doc/Makefile +doc/Makefile.in +doc/sample.wgetrc.munged_for_texi_inclusion +doc/stamp-vti +doc/version.texi +doc/wget.1 +doc/wget.info +doc/wget.pod +# m4/ +m4/.gitignore +m4/gnulib-cache.m4 +# po/ +po/.gitignore +po/.reference/ +po/LINGUAS +po/Makefile +po/Makefile.in +po/Makevars +po/POTFILES +po/wget.pot +# src/ +src/.deps/ +src/Makefile +src/Makefile.in +src/build_info.c +src/config.h +src/config.h.in +src/cscope.out +src/css.c +src/css_.c +src/libunittest.a +src/stamp-h1 +src/tags +src/version.c +src/wget +# testenv/ +testenv/conf/__pycache__/ +testenv/exc/__pycache__/ +testenv/misc/__pycache__/ +testenv/server/__pycache__/ +testenv/server/http/__pycache__/ +testenv/test/__pycache__/ +testenv/Makefile +testenv/Makefile.in +# tests/ +tests/Makefile +tests/Makefile.in +tests/WgetTest.pm +tests/unit-tests +# util/ +util/Makefile +util/Makefile.in +# others +/tags +/cscope.out diff --git a/ChangeLog b/ChangeLog index 54df848..8b693be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-07-25 Darshit Shah <[email protected]> + + * .gitignore: Add a gitignore file for the project. + 2013-08-31 Darshit Shah <[email protected]> * configure.ac: Add testenv/Makefile to AC_CONFIG_FILES. -- 2.0.2
