Larry D'Anna <larry@xxxxxxxxxxxxxx> writes: > @@ -1052,7 +1053,7 @@ int transport_push(struct transport *transport, > flags & TRANSPORT_PUSH_FORCE); > > ret = transport->push_refs(transport, remote_refs, flags); > - err = push_had_errors(remote_refs); > + err = (pretend && porcelain) ? 0 : push_had_errors(remote_refs); Hmph, you are doing (rewritten in an easier to follow format) if (--dry-run && --porcelain) err = 0; else err = push_add_errors(remote_refs); here, which I think changes the semantics of what follows immediately after this hunk, namely: if (!quiet || err) print_push_status(transport->url, remote_refs, verbose | porcelain, porcelain, nonfastforward); Earlier, the logic said "even if you asked for --quiet, we would report if there is an error" but now you are changing the rule to "under --dry-run and --porcelain, --quiet means don't ever report the status, even when there are errors". I don't necessarily think it is a bad change, but in any case the semantic change is worth documenting. -- 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