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

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?


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(-)


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to