Curious; why are your recent patch series all have screwed-up threading? Here is an earlier one: [ 120: Michael Witten ] [PATCH 4/4] Clean: Remove useless parameters from both get_commit_info() functions [ 16: Michael Witten ] [PATCH 0/4] Miscellaneous Improvements [ 51: Michael Witten ] [PATCH 1/4] Typos: t/README [ 56: Michael Witten ] [PATCH 2/4] Clean: Remove superfluous strbuf 'docs' [ 21: Michael Witten ] [PATCH 3/4] Clean: Remove unnecessary `\' (line continuation) and this series looks like this: [ 63: Michael Witten ] [RFC 3/3] Alternates API: Remove unused parameter [ 16: Michael Witten ] [RFC 0/3] Alternates API [ 152: Michael Witten ] [RFC 1/3] Alternates API: Untangle the interface [ 99: Michael Witten ] [RFC 2/3] Alternates API: Improve naming Did we break git-send-email recently? I would personally be worried more about that than the alternates callbacks. Having said all that, I didn't like refs_from_alternate_cb interface myself. I should probably have done for_each_ref_in_alternates() that takes two callback functions, one that decides if it wants to deal with an alternate repository given the path to it, and the other that is fed the refs from the alternate. Both callback functions should take the usual "void *cb_data" in addition, of course. IOW, something like... typedef int (*skip_alternate_fn)(const char *, void *); int for_each_ref_in_alternates(each_ref_fn ref_fn, skip_alternate_fn skip_fn, void *cb_data); -- 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