Conrad Irwin <conrad.irwin@xxxxxxxxx> writes: > git branch -M <foo> <current-branch> could be used to change the branch > to which HEAD points, without the necessary house-keeping that git reset > normally does to make this operation sensible. It would leave the reflog > in a confusing state (you would be warned when trying to read it) and > had an apparently side-effect of staging the diff between <current branch> > and <foo>. The last two lines are redundant (it is "without the house-keeping of reset"); I'll remove "and had an apparently...". > git checkout -B <current branch> <foo> was also partly vulnerable to > this bug; due to inconsistent pre-flight checks it would perform half of > its task and then abort just before rewriting the branch. Again this > manifested itself as the index file getting out-of-sync with HEAD. > > git checkout -f already guarded against this problem, and aborted with > a fatal error. I assume you mean "branch -f". I'll rewrite it so, and in the present tense. > git branch -M, git checkout -B and git branch -f now use the same checks > before allowing a branch to be created. These prevent you from updating > the current branch. Looks good ;-). Also the patch looks good, too. Thanks. -- 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