{"thread":{"id":"18114","subject":"More on \"fast foward\"","startedAt":"2009-03-03T17:45:30Z","lastAt":"2009-03-03T17:53:50Z","messageCount":2,"participants":["John Dlugosz","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"106897","messageId":"450196A1AAAE4B42A00A8B27A59278E709F0769A@EXCHANGE.trad.tradestation.com","threadId":"18114","inReplyTo":null,"subject":"More on \"fast foward\"","fromName":"John Dlugosz","fromEmail":"jdlugosz@tradestation.com","sentAt":"2009-03-03T17:45:30Z","receivedAt":"2009-03-03T17:45:30Z","isPatch":false,"sender":{"key":"jdlugosz@tradestation.com","avatar":null},"body":"After I merged the release fixes back into the development branch, I was\nsurprised that push complained that it was not fast-forward.  I thought\nsomeone must have added something since I looked, but no, my repository\nmatches exactly.  My new dev branch label is the immediate descendant of\nthe old one.  My new node has another ancestor as well, but so what?\nThe same changes, not recorded as a merge, would work without complaint.\n\nThe glossary states, \"A fast-forward is a special type of merge where\nyou have a revision and you are \"merging\" another branch's changes that\nhappen to be a descendant of what you have. In such these cases, you do\nnot make a new merge commit but instead just update to his revision.\nThis will happen frequently on a tracking branch of a remote\nrepository.\"  Why did that not work this time?\n\nI'm especially worried about this because it means that topic branches\nmerged back to the development core when ready would not be a fast\nforward, and the \"ordinary users\" should not force pushes.\n\nWhat am I missing?\n\n--John\n(please excuse the footer; it's not my idea)\n\nTradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited.\n  If you received this in error, please contact the sender and delete the material from any computer.\n"},{"id":"106899","messageId":"alpine.DEB.1.00.0903031851090.6399@intel-tinevez-2-302","threadId":"18114","inReplyTo":"450196A1AAAE4B42A00A8B27A59278E709F0769A@EXCHANGE.trad.tradestation.com","subject":"Re: More on \"fast foward\"","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-03T17:53:50Z","receivedAt":"2009-03-03T17:53:50Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 3 Mar 2009, John Dlugosz wrote:\n\n> After I merged the release fixes back into the development branch, I was \n> surprised that push complained that it was not fast-forward.  I thought \n> someone must have added something since I looked, but no, my repository \n> matches exactly.  My new dev branch label is the immediate descendant of \n> the old one.  My new node has another ancestor as well, but so what? The \n> same changes, not recorded as a merge, would work without complaint.\n\nI can only assume that something went wrong with the merge.  To be \nabsolutely sure that your new tip of the branch is a descendant of the \ncurrent tip on the remote side, do this:\n\n\t$ git show-branch $BRANCH $(git ls-remote $REMOTE $BRANCH)\n\nwhere $BRANCH and $REMOTE are determined by your push command which should\nlook something like this:\n\n\t$ git push $REMOTE $BRANCH\n\nThe show-branch command should show you what Git assumes happened on both \nbranches (the local and the remote one) since the branch point.\n\nCiao,\nDscho\n"}]}