On 02/12/2021 14:43, Abhradeep Chakraborty wrote: > To track a upstream branch from a local branch we need to pass > <repository> and <refspec> to --set-upstream (in case of git push) > or to --set-upstream-to (in case of git branch). In most cases, > users track the upstream branch with the same name as the local > branch they are currently on. For example, users most of the time > do 'git push <repository> <current_branch_refspec>'. > > So, it would be great if 'git push -u' by default do this. This > patch series address this. The patches of this patch-set set > some default values for <repository> and <refspec> if they are > not given. It first tries to get the value of <repository> from > 'branch.<current_branch>.remote'. If not then it will set the > value of <repository> as 'origin'. <refspec>'s value would be > the short name of the current branch. Can we protect the expectations of a user with a `pushDefault` setting? If the user has one set, then the upstream won't be where they push in a triangular repo workflow. Philip > > The first patch implements it for push command. However, before > moving to the 'git branch' part, it would be great to have > discussions about the proposed changes in this patch and whether > the current changes are the best way to address it or not. > > Abhradeep Chakraborty (1): > push: make '-u' have default arguments > > Documentation/git-push.txt | 6 +++++ > builtin/push.c | 48 ++++++++++++++++++++++++++++---------- > t/t5523-push-upstream.sh | 11 +++++++++ > 3 files changed, 53 insertions(+), 12 deletions(-) >