Revision 25ab004c53cdcfea485e5bf437aeaa74df47196d authored by Junio C Hamano on 17 October 2016, 20:25:20 UTC, committed by Junio C Hamano on 17 October 2016, 20:25:20 UTC
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
notes-cache.h
#ifndef NOTES_CACHE_H
#define NOTES_CACHE_H
#include "notes.h"
struct notes_cache {
struct notes_tree tree;
char *validity;
};
void notes_cache_init(struct notes_cache *c, const char *name,
const char *validity);
int notes_cache_write(struct notes_cache *c);
char *notes_cache_get(struct notes_cache *c, unsigned char sha1[20], size_t
*outsize);
int notes_cache_put(struct notes_cache *c, unsigned char sha1[20],
const char *data, size_t size);
#endif /* NOTES_CACHE_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...