On Thu, Jul 7, 2011 at 8:39 AM, Daniel Shahaf <danie...@elego.de> wrote: > Philip Martin wrote on Thu, Jul 07, 2011 at 08:36:06 +0100: >> Daniel Shahaf <danie...@elego.de> writes: >> >> > The process to edit a revprop that had been packed would be: >> > >> > * grab write lock >> > * prepare a new pack-file-with-inline-manifest >> > * move-into-place, atomically replacing the previous pack file >> > * ungrab write lock >> > >> > That is what guarantees cp(1) consistency that Hyrum mentions. >> >> Atomic replace is going to involve a retry loop on Windows, and so could >> potentially take a long time. Virus scanners on repository disks? >> > > Yes, this is going to be a problem.
Virus scanners on repo disks on Windows are *always* going to be a problem. There isn't a whole lot we can do about it (aside from the retry loop). I'll again stress that I expect prop editing of packed revprops to be a rare operation (save for r0, which I've addresses elsewhere). Please don't let theoretical worst-case behavior drive the implementation. -Hyrum