This week I realised that #git bundles are even more awesome than I thought. And I was a fan of them already!
git bundles are my favourite way to receive patches by email. They're very small; a single file can contain a whole series of commits, instead of having to cat-herd one attachment per patch (or worse, one _email_ per patch); they're so obviously binary that not even a really bad MUA is likely to "helpfully" do text processing on them, and a user isn't tempted to paste them into the message body instead of making them a proper attachment. Also, they explicitly state which existing commit the changes started from, which is helpful for handling conflicts, and for knowing what you expect the sender to have taken account of.
But this week I realised there's one more advantage: if the same commit appears in more than one bundle, it will be reliably recognised as identical. This is helpful when you're the one _sending_ the bundle.
Suppose I send someone 3 patches. Half an hour later I smite my forehead and realise I need to send one more. With 'git format-patch' I probably send just the extra patch, so that the recipient has to extract attachments from two emails and apply them in the right order. Or I send all 4 patches in email #2, and the recipient gets errors if they do the obvious thing with that email after they've already applied the patches from #1.
But with git bundles, I can send a bundle of all 4 commits in email #2, and it will do the right thing _regardless_ of whether the recipient had already pulled from the previous bundle in email #1!