{"thread":{"id":"16202","subject":"Understanding rebase","startedAt":"2008-11-06T22:23:28Z","lastAt":"2008-11-06T22:23:28Z","messageCount":1,"participants":["Yang Zhang"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"95082","messageId":"49136E60.4090605@gmail.com","threadId":"16202","inReplyTo":null,"subject":"Understanding rebase","fromName":"Yang Zhang","fromEmail":"yanghatespam@gmail.com","sentAt":"2008-11-06T22:23:28Z","receivedAt":"2008-11-06T22:23:28Z","isPatch":false,"sender":{"key":"yanghatespam@gmail.com","avatar":"https://gravatar.com/avatar/e0796ebc342b90612276b87755da4abc776ddfebbc23049a79bb8b192570161d?d=mp&s=160"},"body":"What properties must commits have for them to be rebase-able?\n\nOne example arrangement that would cause a rebase to fail is:\n\n- change lines 10, 12, 14 in branch A\n- change lines 11, 13, 15 in branch B\n\nThese changes are commutative (I believe), but that is insufficient for \navoiding conflicts on a rebaes.  For a concrete example of this, see:\n\nhttp://assorted.svn.sourceforge.net/viewvc/assorted/sandbox/trunk/src/git/gitsvn.bash?revision=1065&view=markup\n\nAnother question that probably gets at the same thing: I understand what \nrebasing gives me from a high level (rearranging a branch of commits to \nbe in a series with another branch), but is there a simple explanation \nof how, precisely, this is accomplished?\n\nThanks in advance!\n-- \nYang Zhang\nhttp://www.mit.edu/~y_z/\n"}]}