• J
    Merge branch 'jk/quarantine-received-objects' · 25ab004c
    Junio C Hamano 提交于
    In order for the receiving end of "git push" to inspect the
    received history and decide to reject the push, the objects sent
    from the sending end need to be made available to the hook and
    the mechanism for the connectivity check, and this was done
    traditionally by storing the objects in the receiving repository
    and letting "git gc" to expire it.  Instead, store the newly
    received objects in a temporary area, and make them available by
    reusing the alternate object store mechanism to them only while we
    decide if we accept the check, and once we decide, either migrate
    them to the repository or purge them immediately.
    
    * jk/quarantine-received-objects:
      tmp-objdir: do not migrate files starting with '.'
      tmp-objdir: put quarantine information in the environment
      receive-pack: quarantine objects until pre-receive accepts
      tmp-objdir: introduce API for temporary object directories
      check_connected: accept an env argument
    25ab004c
Makefile 77.6 KB