ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Atherton <>
Subject Re: New COPY granularity breaks builds on Windows 2000
Date Wed, 09 Mar 2005 01:49:43 GMT
Xxx Yyy wrote:

>I disagree with the measurements here.  The granularity default should
>not be based on popularity of FS or current usage of ant.  Ant must
>work in a predictable, reliable manner.  And maintain function from
>release to release.  As ant tries to get intelligent and make
>assumptions on its own, it is no longer useful as a build tool.
>I don't know the back-story to granularity.  Nor do I have a file
>system where I can observe this need for granularity by my own hands.
Sure you do. Take a set of files and zip them up. Unzip them to another 
directory. With your older version of Ant (or the latest Ant with 
"granularity=0" on the copy task), do a copy from your unzipping 
location back to your original location. Approximately half of your 
files will magically think themselves "newer" than the originals. You've 
just been bitten by a granularity bug. You can get the correct behaviour 
by using the new Ant and adding "granularity=2000" to the copy task.

See the comment on the zip task's "roundup" attribute for some scenarios 
where the granularity issue can still cause trouble no matter what we 
do. There are no "good" failure modes here.

I agree that Ant needs to be as consistent as possible. That consistency 
is not just across releases (although that is certainly important), but 
also across platforms. Handling granularity as consistently as possible 
across all file systems, which means implementing the principle of least 
surprise as much as possible, is a good goal to aim for.

>I think, also, that you are too focussed on my example and that while
>it may be unusual, degree of "unusualness" should not be an relevant
>metric here.  And we can certainly come up with more usual examples, if
>you like.
I'm afraid we are going to have to agree to disagree here. 
Inconveniencing the fewest number of people seems like a reasonable goal 
to me. That is just my personal opinion, though.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message