On Fri, Jun 4, 2010 at 10:18, Philip Martin <[email protected]> wrote: > Greg Stein <[email protected]> writes: > >> (*) and if the work items cannot succeed, then we have problems. I >> could imagine the process is killed during the wq run, some source >> files are torched, and then the destination is cleaned up (ie. wq is >> run again). Without the source files, then we'd have problem >> completing the work items. Thus, an argument exists for stashing away >> copies of all (modified or unversioned) sources into temp files. > > That's what I've been implementing.
Cool. (I haven't had a chance to look at your work yet) >> Non-modified are just pulled from the pristine store. > > I don't see an benefit in this. Whether we copy from the pristine or > the unmodified working we still have to make a copy. It might even be > more efficient to copy from the unmodified working where keywords/eols > are already expanded. Using the pristine would allow us to delay the > copy but that doesn't seem to be an advantage. Hmm. Sure. I was just thinking of how to avoid copies, but you're right: a new file is constructed regardless. That said, copy-from-pristine also sets up the translated_size/last_mod_time automatically as part of the work item. You could simply use that work item without worrying about recording fileinfo in another codepath. (your comment a while back to julian about when the info is recorded was quite instructive; I'd never looked at it as "only record if/when we know the working file is an unchanged (translated) copy of the pristine) Cheers, -g

