Subject: Re: [PATCH] Add git format-patch produced patches to .gitignore

From: Jonathan Nieder <[email-masked]>
Date: Sun, 16 May 2010 21:22:44 -0500

Michael J Gruber wrote:

> If you want to ignore format patch output, simply use .git/info/excludes
> or a global excludes file, but please don't force everyone else to live
> with that or work around it.

Side note: I said with similar intent that this allows developers to
work “without interference”.  This was a poor choice of words on my
part: a too-long .gitignore only prevents me from noticing and
tracking files that others considered not worth tracking.

From the thread I faintly remembered and then linked to[1]: ;-)

  I earlier said that "*~" should not be in project-wide .gitignore
  file because use of Emacs vs vi is a matter of personal taste, and
  Emacs specific "*~" pattern does not belong to a project policy,
  just like vim "*.swp" pattern doesn't.

  But I think that reasoning is flawed.  The right criteria should not
  be about "use of Emacs vs vi", but about "do we in this project ever
  want to track files that match *~ or *.swp as legitimate contents".
  If a project expects not to have a tracked file whose name ends with
  ".swp", even if it does _not_ mean to encourage use of vim over
  Emacs or any other editor, I think it is fine to add such to its
  tracked .gitignore file for its developer's benefit.

This does not change my conclusion: there are many other reasons to
leave files produced outside the build process unlisted:

 . consistency: to keep the file intuitive and avoid a lot of
   patch churn, it is nicest to choose one rule and stick to it

 . simplicity: shorter .gitignore.  Making the appropriate content
   of .gitignore depend on the behavior of too many text editors
   (and IDEs, and foreign VCSes, and debugging tools, and ...)
   makes it hard to maintain.  See qt’s .gitignore for an example
   of this.

 . correctness: for the case of format-patch, it is hard to say
   "we will never want to track files that match ????-*.patch as
   legitimate contents".  In fact, it is likely such files may need
   to be added to the test suite.

And unlike .o files and company, it does not seem likely that
formatted patches need to be kept around during development.

I hope that is a little clearer.  Sorry for the ramble.
Jonathan

[1] http://thread.gmane.org/gmane.comp.version-control.git/96220/focus=96294