The main effect of this series is removing the fork/exec from pushing via the git protocol (aside from the later fork/exec in connect.c of course). It also heads off some tempting transport-related fetch bugs, which I will not introduce in a later patch. * Miscellaneous const changes and utilities Adds two small utility functions, and marks a bunch of stuff as const; the const stuff is to keep builtin-fetch from getting messed up without a warning, because it wants some lists not to change. * Build-in peek-remote, using transport infrastructure. * Build-in send-pack, with an API for other programs to call. * Use built-in send-pack. Makefile | 4 ++- builtin-fetch.c | 10 +++--- peek-remote.c => builtin-peek-remote.c | 55 +++++++++++++--------------- send-pack.c => builtin-send-pack.c | 46 ++++++++++++++++-------- builtin.h | 2 + cache.h | 2 +- connect.c | 10 +++++- git.c | 2 + http-push.c | 2 +- remote.c | 32 +++++++++++----- remote.h | 10 ++++-- send-pack.h | 18 +++++++++ transport.c | 63 +++++++++----------------------- transport.h | 6 ++-- 14 files changed, 146 insertions(+), 116 deletions(-) -Daniel *This .sig left intentionally blank* - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html