This series fixes a few minor bugs around clients trying to fetch unreachable commits, along with a few associated cleanups. There's a minor conflict in t5516 when merging with next, since that adds GIT_TEST_PROTOCOL_VERSION, causing a few textual conflicts. The resolution should be fairly clear. Where appropriate, I took GIT_TEST_PROTOCOL_VERSION into account so that after merging with next, all tests should still pass even with it set to "2" (well, all the tests that do not already fail on vanilla 'next' with that setting). [1/7]: t5516: drop ok=sigpipe from unreachable-want tests [2/7]: t5530: check protocol response for "not our ref" [3/7]: upload-pack: send ERR packet for non-tip objects [4/7]: pkt-line: prepare buffer before handling ERR packets [5/7]: fetch: use free_refs() [6/7]: remote.c: make singular free_ref() public [7/7]: fetch: do not consider peeled tags as advertised tips fetch-pack.c | 16 +++++++++------- pkt-line.c | 9 +++++---- remote.c | 6 +++--- remote.h | 4 +++- t/t5516-fetch-push.sh | 18 +++++++++++++++--- t/t5530-upload-pack-error.sh | 18 +++++++++++++++--- upload-pack.c | 11 ++++++++--- 7 files changed, 58 insertions(+), 24 deletions(-) -Peff