diff options
Diffstat (limited to 'third_party/git/negotiator')
-rw-r--r-- | third_party/git/negotiator/noop.c | 44 | ||||
-rw-r--r-- | third_party/git/negotiator/noop.h | 8 |
2 files changed, 52 insertions, 0 deletions
diff --git a/third_party/git/negotiator/noop.c b/third_party/git/negotiator/noop.c new file mode 100644 index 000000000000..60569b83501a --- /dev/null +++ b/third_party/git/negotiator/noop.c @@ -0,0 +1,44 @@ +#include "cache.h" +#include "noop.h" +#include "../commit.h" +#include "../fetch-negotiator.h" + +static void known_common(struct fetch_negotiator *n, struct commit *c) +{ + /* do nothing */ +} + +static void add_tip(struct fetch_negotiator *n, struct commit *c) +{ + /* do nothing */ +} + +static const struct object_id *next(struct fetch_negotiator *n) +{ + return NULL; +} + +static int ack(struct fetch_negotiator *n, struct commit *c) +{ + /* + * This negotiator does not emit any commits, so there is no commit to + * be acknowledged. If there is any ack, there is a bug. + */ + BUG("ack with noop negotiator, which does not emit any commits"); + return 0; +} + +static void release(struct fetch_negotiator *n) +{ + /* nothing to release */ +} + +void noop_negotiator_init(struct fetch_negotiator *negotiator) +{ + negotiator->known_common = known_common; + negotiator->add_tip = add_tip; + negotiator->next = next; + negotiator->ack = ack; + negotiator->release = release; + negotiator->data = NULL; +} diff --git a/third_party/git/negotiator/noop.h b/third_party/git/negotiator/noop.h new file mode 100644 index 000000000000..2b4ec5d07a27 --- /dev/null +++ b/third_party/git/negotiator/noop.h @@ -0,0 +1,8 @@ +#ifndef NEGOTIATOR_NOOP_H +#define NEGOTIATOR_NOOP_H + +struct fetch_negotiator; + +void noop_negotiator_init(struct fetch_negotiator *negotiator); + +#endif |