From: Nathan Gray Date: Fri, 04 May 2012 16:46:04 GMT Subject: Re: Newbie grief Message-ID: In-Reply-To: <1336126182.3490.28.camel@beez.lab.cmartin.tk> On Fri, May 4, 2012 at 3:09 AM, Carlos Martín Nieto wrote: > On Thu, 2012-05-03 at 22:25 -0700, Junio C Hamano wrote: >> Michael Witten writes: >> >> > As for a seemingly conservative suggestion, how about using a little >> > more structural white space: >> > >> >   To $uri_for_central_repo >> >    ! [rejected]        HEAD -> feature_0 (non-fast-forward) >> > >> >   error: failed to push some refs to '$uri_for_central_repo' >> > >> >   To prevent you from losing history, non-fast-forward updates were rejected >> >   Merge the remote changes (e.g. 'git pull') before pushing again.  See the >> >   'Note about fast-forwards' section of 'git push --help' for details. >> > > > Most of the first sentence repeats what we can see above. Restating that > non-ff updates were rejected doesn't add information and doesn't help > people who don't already know what a non-ff update is, so it's either > redundant or not helpful[0]. So lets see if we can come up with a > friendlier way of saying it. Maybe something like: > >    To $uri_for_central_repo >    ! [rejected]        HEAD -> feature_0 (non-fast-forward) > >    error: failed to push some refs to '$uri_for_central_repo' > >    Some updates which might rewrite history and lose someone else's >    changes were rejected. Merge those changes (e.g. 'git pull') to >    incorporate that history. See the 'Note about fast-forwards' section >    of 'git push --help' for details. > > It may be a bit longer, but if you don't know what a non-ff is or why > it's a problem, this text should help you a lot more than the previous > one did. Not reading the documentation (specially when the error message > points you to a specific section for a longer explanation) is still no > excuse for not known what's going on, but if you've been working on your > own for a while, you might have forgotten what this is all about.[1] The whitespace that Michael introduced is a big help, for starters, and this rewording is also a nice step forward. I'm still not thrilled about the "rewriting history" verbiage -- that makes it sound like the user did something super risky and was rescued by the system. Here's my suggestion for replacing the last paragraph: Some of your branches are out of date. Merge the remote changes (e.g. 'git pull') then try again. It's short and easy to scan. It has no git-specific jargon that new users would be unfamiliar with. There's no reference to fast-forward updates so no need to refer the user to that help section. What do you think? Cheers, -n8 -- HexaLex: A New Angle on Crossword Games for iPhone and iPod Touch http://hexalex.com On The App Store: http://bit.ly/8Mj1CU On Facebook: http://bit.ly/9MIJiV On Twitter: http://twitter.com/hexalexgame http://n8gray.org