[crossfire] CVS -> SVN conversion

Mark Wedel mwedel at sonic.net
Mon Sep 11 01:36:46 CDT 2006


  Another question for everyone:

  It has been commented/asked several times in the past whether the 
automatically generated files should be in the repository, or if it should be up 
to the developer to rebuild them.  There are several types of files, and my 
general thoughts:

flex files that generate .c (loader.c) - not a big space user, yet at the same 
time, pretty trivial for most people to generate (probably any system that has 
gcc can pretty easily install flex if not already there).  The flex files do not 
change very often.  The one question might be windows (can they easily be 
regenerated there?).  Given these are small files, I'm sort of mixed on these. 
The version of flex used to generate these files really doesn't have any impact 
on performance - I don't think we've ever had an issue where someone had a bad 
version of flex installed that caused problems.

autoconf/automake generated files:  These change less frequently, and 
aclocal/automake/autoconf may not be installed as frequently.  OTOH, autoconf is 
re-run for each release, since that is where the version number is stored, so it 
is not like having these in the repository helps out a whole bunch (what really 
counts is the version of those tools on the person who makes the release).  It's 
also a bit nicer to be able to checkout a repository and run the 'standard' 
configure/make and get a working product, and not have to run 
autoconf/automake/autowhatever.

rebuilt lib files (Archetypes, images, etc):  These are the files I'm most 
inclined to leave out of SVN.  The images tend to be quite big (slowing down 
updates).  Plus, the updates are rather inconsistent - they are not updated 
after every change is made to an arch, but rather when someone remembers to or 
is some critical need.  Within SVN, we can set up lib/arch to point to the 
actual arch tree, so an update of the server also gets updated arches.  Plus, we 
already have all the tools in place to collect them (the collect.pl script), so 
this doesn't add any additional software dependencies.  If anything, this may 
actually help people use the updated archs.

  The only thing which I'm not sure if there is any way to do is have some file, 
ideally automatically created, that sits in the arch tree so that the server can 
know that the archs have changed and it should do a collect.  One can manually 
run the command now, and there is a hidden timestamp file, but that file doesn't 
do any good if it never changes.

  As a note, for any files that we automatically generate that are not normally 
in SVN (if we so decide) yet are in the distributions we ship out, I'd expect 
they would be in the release branch of the SVN repository for that release (so 
you can go to the 1.10 branch and see what the archetypes file had, or see what 
the makefile looked like, etc).  Although, maybe even that is useless - could 
always just download the old releases.





More information about the crossfire mailing list