Junio C Hamano wrote: > It might be a beginning of a change in the right direction (I didn't > check the codeflow), but given that the test that comes after the > one you removed is looking at branch->merge[0] and deciding what to > do, and branch.$name.merge should *never* affect anything when > remote.pushdefault or branch.$name.pushremote is in use while > deciding what is pushed out or if the push is allowed, I do not > think the removal of these five lines alone can possibly "work". I just spent hours breaking my head thinking about why you said my patch cannot possibly "work". I give up. The artificial limitation was introduced by you in 135dade, and here's the relevant part of the commit message: - The current branch does have its remote and upstream branch configured, but the user said "git push $there", where $there is not the remote named by "branch.$name.remote". By definition, no branch at repository $there is set to integrate with the current branch in this case, and this push is not meant to update any branch at the remote repository $there. What definition is this, and why does it only apply to upstream/simple? Did you implicitly assume that upstream/simple are only meant to be used in centralized workflows? Thanks. Ramkumar Ramachandra (4): t/push-default: remove redundant test_config lines push: make upstream, simple work with pushdefault t/push-default: generalize test_push_{success, commit} t/push-default: test pushdefault with all modes builtin/push.c | 5 ----- t/t5528-push-default.sh | 30 ++++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) -- 1.8.3.247.g485169c -- 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