[Gdal-dev] Motion: Adding the SWIG generated files to the SVN repository

Tamas Szekeres szekerest at gmail.com
Tue Jan 23 16:36:10 EST 2007

2007/1/23, Frank Warmerdam <warmerdam at pobox.com>:

> I must say I'm surprised at the number of generated files for C#
> compared to other interfaces, but I don't see a fundamental problem
> with this.  Presumably new files are only added or removed occasionally
> now that things are stable?

Normally a common development task doesn't require taking care of
which files are created, altered, renamed and removed. I'm a bit
scared of the fact, that after making some changes in the interface
files or the makefiles I have to go through the 40-50 files in 4
directories and discover the changes.
Currently it is enough to clean the old files and have the new files
generated by SWIG. But now I'll have to:

1. save the old files somewhere
2. Removing the old files and creating the new ones in the original places
3. Make a diff amongst the old and the new directories
4. Applying a SVN add for the new files.
5. Copying back the old files and applying a SVN remove on them
6. Commit the modified files and the directories
7. Removing the unwanted files.

Probably some steps might be simplified but the overall process is complex.

> I would also add that generally speaking I think only the "chief
> maintainer" for a binding should be commiting updates to the generated
> files.  Furthermore, it isn't critical that they be updated in SVN
> every time a change is made, but it is important that the committed
> files always be in good working condition.

It sounds like we would want to keep 2 versions of the code in the
same repository. Currently I cannot see a real benefit of this
solution as taking a snapshot on the working SVN creating the derived
files and store them in a suitable place.
Apparently, if we find our interface files or makefiles messed up, we
cannot recreate the good version from the derived files.

> Note that there are already derived csharp files in subversion, they
> just haven't been maintained (apparently) and these files are what
> goes out in nightly snapshots and releases.

After reviewing the SVN I couldn't find such files in the csharp
directory. Are you referring to the csharp samples in the /apps

> I find it hugely frustrating trying to build some projects from
> source control when I end up spending the first hour or two of
> misery trying to get just the right version of autoconf, automake,
> libtool, swig, bison, flex, etc installed.  This has contributed to
> a disinterest on my part in being a developer for some projects
> (such as GEOS).  I don't want to drive developers away from GDAL
> with to high a bar to participate.  I'd add the required versions
> of some of these tools varies from project to project.

This is the area that I cannot feel in my bones and that't why I've
started this thread. However setting up a proper environment once
seems to be a smaller deal than making a number of post development
steps every time.
At this phase of the discussion the automated creation of the derived
files in the release/daily snapshot seems to be more reasonable to me.

Best Regards,


More information about the Gdal-dev mailing list