On Fri, Jun 28, 2013 at 8:38 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> The pack-*.keep files are temporary, and serve no purpose in the >> clone. > > They are not temporary, actually. A user can deliberatey create a > "keep" marker after packing with a good set of parameters, so that > the resulting pack will be kept, instead of letting a later repack > (with faster set of parameters) remove and replace it with less > optimal results. Ah, I see. Was (obviously) not aware of that. It would perhaps be a good idea to be able to differentiate between such permanent keep files and the temporary ones created by built-in commands. Also, even if some keep files are permanent in the source repository, is it always a good idea to copy them over to the clone? This would only happen for some types of clones, anyway. On Fri, Jun 28, 2013 at 10:38 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > That is, something like this, perhaps? Comments: With this patch, it still fails with --local, when the link() call fails. This seems a bit odd, in particular in the cases where --local is implied. IOW, one would not expect that adding --local would change behavior, but here adding it causes the operation to fail. Also, since failing to link() once implicitly enables --no-hardlinks, it would copy the rest of the repository without trying to use link(), which might make the whole operation much more expensive. Applying the exception for inaccessible .keep files for link() as well would seem a better solution to me. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html