Bonjour, Eric :-)
On Wed, 2004-12-01 at 04:38, Eric PAIRE wrote:
Hi all,
Here is the description of a problem met with subversion and autotools.
If anybody has a clean solution, let me/us know:
1) I have a project using the autotools for the environment management.
2) The project compiles without any problem in the 'trunk' directory.
3) I have set up a tag with 'svn copy' so that the tagged version is the
exact
copy of the version in the 'trunk' directory.
4) Another user gets the tagged version with a 'svn co' and runs 'configure'
on it. And now ...
The problem is that all the dates of the checked out files have been
modified,
and when running 'make', the first thing run is 'autoconf' and
'automake', thus
modifying source directory files (configure, ...). It was even worst in
our case, as
the autotools installed on the machine were too old and 'make' stopped
without
having built anything :-( :-( The result is that checking out a tagged
version may
lead to an unusable source tree (at least a tree needing some source
file modifications).
This is the reason why I don't think it is a good thing that the
subversion philosophy
of timestamps conflicts with autotools one. I am looking for a solution
that would
allow a checkout to avoid rebuilding source files when not necessary.
Timestamps
need to be preserved somewhat, and I think that the way subversion
manages currently
timestamps should be coherent with autotools (or autotools should be
modified to
handle subversion philosophy), and in particular when doing a 'svn copy'.
Thanks for your comments (and your solutions),
Eric PAIRE
Doesn't setting "use-commit-times = yes" in your local configuration
file (~/.subversion/config) solve this? The files will have the
timestamp of when you committed them last when you check them out.
Thus, you set them up and commit them to the trunk. All is well with
the auto-tools. Then copy to your branch/tag. When you check them out
you'll get the same timestamp if as when you committed them if you have
this option set.