Thu, 24 Nov 2011 18:22:45 +0100 largefiles: simplify lfutil.writehash
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:22:45 +0100] rev 15574
largefiles: simplify lfutil.writehash This was unnecessarily verbose: there is no need to unlink the file when we open it for write anyway, and there is no need to check if the file exists after we created it.
Thu, 24 Nov 2011 18:22:44 +0100 merge with stable
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:22:44 +0100] rev 15573
merge with stable
Thu, 24 Nov 2011 18:13:18 +0100 largefiles: copy files into .hg/largefiles atomically stable
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:13:18 +0100] rev 15572
largefiles: copy files into .hg/largefiles atomically Copying from the user cache into .hg/largefiles could fail halfway though with a partially written file.
Thu, 24 Nov 2011 18:12:13 +0100 largefiles: write .hg/largefiles/ files atomically stable
Martin Geisler <mg@aragost.com> [Thu, 24 Nov 2011 18:12:13 +0100] rev 15571
largefiles: write .hg/largefiles/ files atomically Before, it was possible to create a .hg/largefiles/hash file with truncated content, i.e., content where SHA-1(content) != hash This breaks the fundamental invariant in largefiles that the file content for files in .hg/largefiles hash to the filename.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip