From: Marc Branchaud Date: Tue, 24 Feb 2009 16:54:45 GMT Subject: Re: [PATCH] Expand explanation of the use of + in git push refspecs. Message-ID: <49A42655.40708@xiplink.com> In-Reply-To: <7viqn5k8c4.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > > I am of two minds with this. The understanding of the concept of > fast-forwardness is necessary not just to understand push but also to > understand merge, and if glossary is missing the definition, we should add > one there. It's precisely because fast-forwarding and merging are so closely related (at least in my mind) that I felt the need to clarify push's documentation. My intuition about "non-fast-forward" is in the context of pulling and merging. So the current man page sounds to me like push's non-fast-forward is a merge, which it clearly isn't. > What exactly happens when the is updated is the same > regardless of ff or non-ff in that the old 40 hexdecimal object name is > gone and replaced with the new one, and it does not feel right to say "if > ff, we update if non-ff you can force to overwrite." Either way, you > overwrite and there is no trace of the old one. So we would want to say > something like: > > The name of the object referenced by is used to update the ref > on the remote side, but by default this is only allowed if the > update is fast-forward. By having the optional leading plus, you can > tell git to update the ref even when the update is not a > fast-forward. My second attempt used your wording (mostly), and also emphasized the not-merging aspect. > Please don't wrap a full paragraph, only to change a few sentences. > AsciiDoc wraps lines for output just fine; it took me a few extra minutes > to make sure there is no other changes. Whoops, sorry! Will avoid reflowing in the future. M.