Re: Chicken/egg problem building from a 'git clone'
- From
Jeff King <peff@peff.net>
- Date
- Mar 5, 2009, 12:06 UTC
- Message-ID
- <20090305120602.GA18717@coredump.intra.peff.net>
- In-Reply-To
- <43d8ce650903050337n48924fc3l89ef991d578f5849@mail.gmail.com>
On Thu, Mar 05, 2009 at 11:37:45AM +0000, John Tapsell wrote:
Show 10 quoted lines
> > ./configure is a generated script. Including it in the repository is not > > something many projects do, since one of the things developers will be > > working on is to change how that file is generated. Including it in the > > release tar-balls is something every project (that uses autoconf) does, > > since those are aimed at end-users. > > Reason that it should be included: > > * configure scripts usually are included. git was the first source > code in a long time that I've seen without one
I think you are confusing "checked into version control" with "distributed with release tarballs". Most projects do not do the former[1], but almost all (including git) do the latter.
This discussion is about things checked into the repository.
[1] Sorry, I don't have exact numbers, but I have never encountered this before.
> * we have lots other files in git.git that are autogenerated (the > documentation files, for example)
I'm not aware of any auto-generated files that are checked in. Can you give an example?
> * people are used to being able to do "./configure; make; make install"
Right. They do it from the release tarball. Getting the version straight from source-control usually means you have to have autoconf if you want to run it.
> * It doesn't hurt anyone to do it.
Yes, it does. Having generated files in your source repository means:
- you generate useless noise commits when those files are
re-autogenerated - developers must make sure that they are not accidentally committing
auto-generated cruft that have nothing to do with their actual
changes-Peff