The first two are preparatory clean-up and bugfix patches. The third one introduces receive.denyDeleteCurrent configuration that defaults to "annoyingly loud warning", which we will flip to "refusal with insn" at the end. The fourth and fifth one are not about push and are more or less independent. They deal with what happens when you ended up with a dangling symbolic ref in a tracking hierarchy. I think a check and warning similar to the fourth one may be needed in git-push (and git-send-pack) when it pushes a void to remove a branch from a remote, and in turn removes the corresponding tracking branch at the local end. Then finally the last one flips the default for receive.denyDeleteCurrent to refuse. I think the first five ought to be in 1.6.2-rc1 but I lack the energy and time to finish the testing, re-eyeballing and documentation tonight. It would be very nice to see friends from other timezones to help me with these tasks ;-) Junio C Hamano (6): builtin-receive-pack.c: do not initialize statics to 0 t5400: allow individual tests to fail receive-pack: receive.denyDeleteCurrent remote prune: warn dangling symrefs Warn use of "origin" when remotes/origin/HEAD is dangling receive-pack: default receive.denyDeleteCurrent to refuse builtin-receive-pack.c | 70 ++++++++++++++++++++++++++++++++++++++-------- builtin-remote.c | 6 ++++ refs.c | 72 ++++++++++++++++++++++++++++++++++++------------ refs.h | 5 +++ sha1_name.c | 6 ++- t/t5400-send-pack.sh | 44 ++++++++++++++++++++-------- 6 files changed, 157 insertions(+), 46 deletions(-) -- 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