Hi,

we use Continuus as configuration management tool. In conjunction with GNU make files 
frequently are not recompiled when they should be.

The reason is as follows:

If a file is checked out, a symlink is created in the user's work area that referring 
to some file under Continuus' control. When this file is modified referencing it by 
the symlink, the file's timestamp changes, and everything works fine.

If, however, through Continuus' update mechanism another version of the file is used, 
the symlink is simply made to point to another file representing the other version. 
The symlink's timestamp is changed, but the timestamp of this other file not 
necessarily new  (if you go back to an older version, for instance). Result: the file 
is not recompiled.

The issue can be resolved by considering the symlink's *and* the file's timestamp and 
taking the maximum of both. The system call `stat' and `lstat' do this (at least under 
Solaris).

I attach a file where the function name_mtime() in file `remake.c' is patched 
accordingly.

Regards,

Conrad

remake.c

Reply via email to