On Tue, Aug 11, 2015 at 06:00:20AM +0200, Michael Haggerty wrote:
quoted
Instead of using hold_lock_file_for_append, let's copy the
file line by line, which ensures all records are properly
terminated. If we see an extra line, we can simply abort the
update (there is no point in even copying the rest, as we
know that it would be identical to the original).
Do we have reason to expect that a lot of people have alternates files
that already contain duplicate lines? You say that this function is only
called from `git clone`, so I guess the answer is "no".
But if I'm wrong, it might be friendly to de-dup the existing lines
while copying them.
You're right; this is not something we expect. There's not really any
way to get an alternates file inside the running clone, except by
putting it in your "templates/" directory.
So I think it is OK to not worry about cleaning up an existing mess.
-Peff