[darcs-users] darcs patch: resolve issue1131
dmitry.kurochkin at gmail.com
Wed Oct 8 13:54:25 UTC 2008
On Wed, Oct 8, 2008 at 5:38 PM, David Roundy <droundy at darcs.net> wrote:
> On Wed, Oct 08, 2008 at 03:55:36PM +0400, Dmitry Kurochkin wrote:
>> I am not able to reproduce the issue. So it is not tested. But it is
>> pretty simple so I do not think it introduces any new bugs (and
>> hopefully fixes one :)).
> It looks pretty good to me.
> My only (pretty minor) concern would be with the use of copyFile.
> This is not an atomic operation, which means that if its target is a
> hash file in _darcs/patches etc, then there will be a possibility of
> introducing a hash failure if we (or another darcs) happens to read
> that file while it's being written. I think a better approach would
> be to first copyFile to (newname++"-new") and then renameFile to
> newname. But since I think this should go into the release, I won't
> make this change myself, since I want to review it... and asking you
> to make this change has the effect that someone other than myself must
> decide that it's reasonable.
> Another possibility (rather than copyFile + renameFile) would be to
> create a hard link. This should be safe for any sort of downloaded
> file in darcs. But this requires a bit more code, and would have to
> fall back on copyFile + renameFile if the link-creation fails (as
> would happen on windows or if the two target names are on different
> filesystems, or on certain filesystem types.
Sounds reasonable. Patch for copy+rename attached.
I like hard links approach - it should be faster. I will probably
implement it later, but copy+rename should be simple and good enough
for release if Eric decides to push it. I think this should go to some
utility module under name copyFile or safeCopyFile.
> darcs-users mailing list
> darcs-users at darcs.net
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 44805 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20081008/acf03875/attachment-0001.obj
More information about the darcs-users