• Junio C Hamano's avatar
    Merge branch 'jk/fewer-pack-rescan' · 79bafd23
    Junio C Hamano authored
    Internaly we use 0{40} as a placeholder object name to signal the
    codepath that there is no such object (e.g. the fast-forward check
    while "git fetch" stores a new remote-tracking ref says "we know
    there is no 'old' thing pointed at by the ref, as we are creating
    it anew" by passing 0{40} for the 'old' side), and expect that a
    codepath to locate an in-core object to return NULL as a sign that
    the object does not exist.  A look-up for an object that does not
    exist however is quite costly with a repository with large number
    of packfiles.  This access pattern has been optimized.
    * jk/fewer-pack-rescan:
      sha1_file: fast-path null sha1 as a missing object
      everything_local: use "quick" object existence check
      p5551: add a script to test fetch pack-dir rescans
      t/perf/lib-pack: use fast-import checkpoint to create packs
      p5550: factor out nonsense-pack creation
fetch-pack.c 30.4 KB