The following series is on top of the db/fetch-pack series that is currently in Junio's 'pu' branch. I found a number of cases that weren't quite matching what git-fetch used to do, or were outright major breakages in the code. Even with this 9 patch series applied I am not yet certain that the db/fetch-pack series is ready for 'next'. I will continue to test (and fix) the topic through this weekend. Right now the test suite is passing, but I'm not sure we have enough coverage on git-fetch for that to be an assertion of the topic's readiness. 1/9 Correct builtin-fetch to handle + in refspecs 2/9 Fix off by one bug in reflog messages written by builtin-fetch These two were outright bugs that I noticed a couple of days ago when I started to test the topic. The first is a major functionality problem while the second is really just a minor annoyance as the reflog messages were being truncated. 3/9 Remove unnecessary debugging from builtin-fetch The older git-fetch.sh did not output these messages. Any tool that intends to replace it should also not output this level of verbosity by default. 4/9 Remove unused unpacklimit variable from builtin-fetch This code appears to be dead. I need to look into the code further as I am actually suspecting that builtin-fetch does not honor the user's {fetch,transfer}.unpackLimit configuration option because it does not appear to properly initialize builtin-fetch-pack's statics before use. Something like this may need to come back, but most likely in a different form. I'm getting too tired to look into it right now and will try to pick it up again after getting some sleep. 5/9 Replace custom memory growth allocator with ALLOC_GROW 6/9 Simplify fetch transport API to just one function This code was just really hairy and a lot more complex than it needed to be. ALLOC_GROW and this single fetch function cleans things up considerably. 7/9 Refactor index-pack "keep $sha1" handling for reuse 8/9 Remove pack.keep after ref updates in git-fetch 9/9 Always ensure the pack.keep file is removed by git-fetch If we are using index-pack to receive a packfile (because it is over our unpackLimit) we must arrange for the .keep file to be removed after the corresponding refs have been updated. This is necessary to allow the packfile to be garbage collected at a later point in time. -- Shawn. - 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