Earlier, Peff taught "git fetch origin master" to update a remote-tracking branch by internally mapping the colon-less refspec 'master' to '+refs/heads/master:refs/remotes/origin/master'. Both git fetch origin git fetch origin master would update the same refs/remotes/origin/master, which avoids surprises. However, we did not have a similar refspec mapping on the push side. This three-patch series does just that, and would help triangular workflow by making these two: git checkout master && git push origin git push origin master update the same ref at the 'origin'. Junio C Hamano (3): builtin/push.c: use strbuf instead of manual allocation push: use remote.$name.push as a refmap push: also use "upstream" mapping when pushing a single ref Documentation/git-push.txt | 9 ++++-- builtin/push.c | 79 ++++++++++++++++++++++++++++++++-------------- remote.c | 8 ++--- remote.h | 2 ++ t/t5516-fetch-push.sh | 75 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 144 insertions(+), 29 deletions(-) -- 1.8.5.1-400-gbc1da41 -- 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