DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5949>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5949

Stop using timestamp for "out-of-dateness" check

           Summary: Stop using timestamp for "out-of-dateness" check
           Product: Ant
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: Build Process
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Use this algorithm instead (loosely inspired on how "cook" should work).

When testing a file for "out-of-dateness", check if you have a record of this 
file. The simplest form of a record may be a flat file that lives in the same 
directory as the file, and that contains records for every file "seen" with 
three entries: timestamp, inode/device, hash fingerprint. If there is no 
record, assume the file is "new". If there is a record, and the timestamp is 
unchanged, assume the file is "unchanged". If the timestamp has changed, 
calculate the hash fingerprint and compare it to the registered fingerprint. If 
different, assume "new".

This enhancement would improve build and make "ant" usable in settings where 
timestamps by themselves are not reliable, or where the semantics of timestamps 
are different from the ones people are used to, for example when using 
versioned file systems like ClearCase.

The reason to key the record by inode is to allow multiple paths to exist to 
the same file and let ant know it is the same file.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to