http-push.c contains a lot of fetching code, but it's not known if it really works, given that most people fetch first before pushing (after all, the git manual recommends this). The first two patches add tests[1] that demonstrate that http-push.c fails to fetch from the remote repo, and remedy this by ensuring fetch requests are sent out. Along the way, code that sends out requests on the requests queue is refactored (run_request_queue()), and a mechanism against accidental pushing to the remote side is introduced. Footnotes: [1] the tests coerce http-push into fetching objects from the repo by removing local objects before executing http-push, and represent just one possible workflow that lead to fetching in http-push. Tay Ray Chuan (3): t5540-http-push: test fetching of loose objects t5540-http-push: test fetching of packed objects http-push: send out fetch requests on queue http-push.c | 37 ++++++++++++++++++++++++++----------- t/t5540-http-push.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 11 deletions(-) -- Cheers, Ray Chuan -- 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