Hi, On Wed, 4 Jul 2007, Johannes Sixt wrote: > I have this history: > > o--o--o--o--o <- origin > \ \ > x--x--x--M--x--x <- master (HEAD) > > At this point I would like to rebase to straighten the history, but it > won't let me: > > $ git rebase origin > Current branch master is up to date. I'd do something like $ git checkout -b tmp HEAD~3 $ git rebase origin $ git checkout master $ git rebase --onto tmp HEAD~2 $ git branch -d tmp > I would like to extend the check to also check for linear history. How > can I do this most efficiently? My first try is along these lines: > > test $(git rev-list origin..HEAD | wc -l) = \ > $(git rev-list --no-merges origin..HEAD | wc -l) > > Is there a better approach? I usually to test -z "$(git rev-list --parents origin..HEAD | grep " .* ")" Hth, Dscho - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html