jidanni@xxxxxxxxxxx wrote: > wherein he discovers there are no guard rails Good thing you learned this before getting to git-reset. > $ EDITOR=cat git rebase --interactive master > pick 07aef4a This is a commit with No files, wow. bla. > # Rebase 3ad166e..07aef4a onto 3ad166e ... > Successfully rebased and updated refs/heads/jidanni. > (But it didn't. git show shows no change. ls -l shows > refs/heads/jidanni was not touched. > OK, it seems like all I am doing is changing > A jidanni > / > D---E---F---G master > into the same thing, a noop. But shouldn't it warn and quit, instead > of rewarding me with the success message? You asked for an interactive rebase of the range master..jidanni, which consists of A, so it gave you an editor offering 'pick A' and the chance to change that. Non-interactive rebase indeed checks if you attempt to rebase, but are already up to date. Interactive doesn't; the assumption is that interactive rebases aren't used "blindly" to update. (Rebasing changes committer and commit time, so there is a difference between not rebasing at all, and merely ending up with the same history.) > Let's try it the other way > around: > $ git checkout master > $ git rebase --interactive jidanni #Wherein one sees: > noop > # Rebase 07aef4a..3ad166e onto 07aef4a > Successfully rebased and updated refs/heads/master. > OK, now I have achieved > D---E---F---G---A master, jidanni > Observations: > When I tried a noop, it didn't say noop in the editor. > When I tried a yesop, it did say noop in the editor. The 'noop' means that there are no commits in the range you asked to rebase, which is jidanni..master. It's telling you that it is going to update the branch pointer, but not carry over any of the commits. This can happen even if jidanni..master is nonempty, but all commits in it are already contained in jidanni. > In both cases it gave the same success message. It successfully did what you told it to do. -- Thomas Rast trast@{inf,student}.ethz.ch
Attachment:
signature.asc
Description: This is a digitally signed message part.