From: Junio C Hamano Date: Thu, 05 Apr 2012 20:34:31 GMT Subject: Re: [PATCH] push: error out when the "upstream" semantics does not make sense Message-ID: <7vy5q95354.fsf@alter.siamese.dyndns.org> In-Reply-To: Matthieu Moy writes: > Junio C Hamano writes: > >> die(_("You are pushing to remote '%s', which is not the " >> - "upstream of your\ncurrent branch '%s'.\n"), >> + "upstream of your\ncurrent branch '%s',\n" >> + "without telling me to push which local branch to\n" >> + " update which remote branch with."), > > Sounds overly complex sentence to me. "without telling me what to push" > sounded good enough without being long, so I prefered it. You are right; it is overly complex. After sending the updated patch, I rewrote it again to: You are pushing to remote '%s', which is not the upstream of your current branch '%s', without telling me what to push to update which remote branch. The point of Jonathan's 'refspec' and this attempt to rephrase it without using a jargon is to make sure that the user realizes that both ends can be specified. > I like accompanying these messages with the way out for the user, so > perhaps we can add stg like > > "To push the current branch to this remote, run: > > git push > > " I am afraid that the above advice is a lot worse than leaving it unsaid. We are in no position to assume that the user wanted the "current" semantics when we issue this message. Otherwise, we would be better off switching the default semantics to "current", not "upstream". But the working assumption in this series is that "upstream" is an improvement over "current", no?