Pergunta

I am taking over a project and I see in the subversion repository some files that belong to the distribution of libtool and automake such as config.guess, depcomp or ltmain.sh. I believe this is simply wrong because when I do the check out, I should have the autotools installed on my machine and do an autoreconf.

What do you think ? Am I missing the point of having these files in the repository ?

Foi útil?

Solução

Typically, you wouldn't have those in your SVN repo. Usually you have an autogen.sh that recreates it on demand. Your instinct to not store potentially-stale files is a good one. If somebody commits a change to configure.ac, and somebody else checks out the whole thing with the configure, the change won't matter.

Outras dicas

Almost anything that can be generated - and depcomp, etc. belong to that - should not be part of a tracked source repository.

The pure theory is that you shouldn't put files that you can regenerate into version control. Since you can recreate these files using autoreconf -i or similar, that applies in this case.

The reason why a lot of people still do it (besides ignorance, possibly) is that this can create a significant additional burden on the developers. If, say, you have a larger open-source project with dozens of developers and hundreds of interested followers, everyone will have a different version of autoconf, automake, libtool, autopoint, etc. installed. In simple cases, that shouldn't make a difference. In practice, it does, and this can create major headaches and turn away potential project contributors.

So, as a practical compromise, since these files actually change very rarely, if you have a very complex setup, you may just check them in anyway.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top