On Sat, Mar 15, 2014 at 09:21:07PM -0700, Andrei Alexandrescu wrote:
> > @@ -294,6 +300,16 @@ size_t indexOfProgram(string[] args)
> >      return args.length;
> >  }
> >  
> > +void writeDeps(string root, in string[string] myDeps, File fo)
> 
> I think writes should go to a temporary file, and the existing deps file (if any) should be replaced only if the temporary file is different. That way the timestamp of the deps file won't be changed if the dependencies are identical.

This doesn't make any sense, changes in the dependency file to include
in Make doesn't trigger any rebuilding of the targets referred by that
file. I don't see the point on doing this besides avoiding file
corruption if your computer is hard reset while writing (which might be
a good reason to do it anyway). But I would never compare the file
contents, that is not necessary. Opinions?