Package: git-debrebase Version: 6.6 Severity: important Ben Hutchings writes ("Issues with using git debrebase for linux"): > 1. Safe rebasing > > linux is team-maintained, and it's normal for multiple developers to > push changes multiple times between releases. It's therefore not > acceptable to update branches in a non-fast-forward way. I believe > that git debrebase is supposed to avoid doing that, but it seems quite > easy to defeat the check: > > $ git checkout -b use-dgit-test > Switched to a new branch 'use-dgit-test' > $ git branch --set-upstream-to=benh/use-dgit-test > Branch 'use-dgit-test' set up to track remote branch 'use-dgit-test' from > 'benh'. > $ git debrebase -i > OK, you are ahead of refs/remotes/benh/use-dgit-test > Waiting for Emacs... > Successfully rebased and updated refs/heads/use-dgit-test. > $ git rev-list ..benh/use-dgit-test | wc -l > 109 > $ git debrebase conclude > > git-debrebase: error: No ongoing git-debrebase session. > $ git-debrebase status > current branch contents, in git-debrebase terms: > branch is laundered > key git-debrebase commits: > anchor > 470915f1011c git-debrebase import: declare upstream > breakwater > 470915f1011c git-debrebase import: declare upstream > branch and ref status, in git-debrebase terms: > stitched? (no record of git-debrebase work) > > Why was there no pseudo-merge? Shouldn't the remote tracking branch > have been recorded as ffq-prev?
To reproduce: clone the linux repo. Check out use-dgit-test, c6eb63c6ed0694b0d22fbe5aaff953d209a3fc4e It is a laundered-and-stitched branch. Run git-debrebase -i, and drop these two commits (near the end): Revert "aufs4.x-rcN base patch" aufs4.x-rcN base patch The rebase will complete successfully. Observe that there is no ffq-prev and git-debrebase conclude does not work, even though the branch is no longer ff from origin/use-dgit-test. Ian.