1. 08 7月, 2013 1 次提交
    • J
      clone: drop connectivity check for local clones · 125a05fd
      Jeff King 提交于
      Commit 0433ad12 (clone: run check_everything_connected,
      2013-03-25) added the same connectivity check to clone that
      we use for fetching. The intent was to provide enough safety
      checks that "git clone git://..." could be counted on to
      detect bit errors and other repo corruption, and not
      silently propagate them to the clone.
      
      For local clones, this turns out to be a bad idea, for two
      reasons:
      
        1. Local clones use hard linking (or even shared object
           stores), and so complete far more quickly. The time
           spent on the connectivity check is therefore
           proportionally much more painful.
      
        2. Local clones do not actually meet our safety guarantee
           anyway. The connectivity check makes sure we have all
           of the objects we claim to, but it does not check for
           bit errors. We will notice bit errors in commits and
           trees, but we do not load blob objects at all. Whereas
           over the pack transport, we actually recompute the sha1
           of each object in the incoming packfile; bit errors
           change the sha1 of the object, which is then caught by
           the connectivity check.
      
      This patch drops the connectivity check in the local case.
      Note that we have to revert the changes from 0433ad12 to
      t5710, as we no longer notice the corruption during clone.
      
      We could go a step further and provide a "verify even local
      clones" option, but it is probably not worthwhile. You can
      already spell that as "cd foo.git && git fsck && git clone ."
      or as "git clone --no-local foo.git".
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      125a05fd
  2. 25 5月, 2013 1 次提交
  3. 22 5月, 2013 3 次提交
  4. 21 5月, 2013 5 次提交
  5. 18 5月, 2013 8 次提交
  6. 17 5月, 2013 4 次提交
  7. 16 5月, 2013 9 次提交
  8. 15 5月, 2013 1 次提交
  9. 14 5月, 2013 1 次提交
  10. 13 5月, 2013 3 次提交
  11. 12 5月, 2013 2 次提交
  12. 11 5月, 2013 2 次提交