On Fri, Nov 23, 2012 at 06:58:49PM -0800, Junio C Hamano wrote: > Kacper Kornet <draenog@xxxxxxxxxxxxx> writes: > > The following patch is an attempt to implement this idea. > I think "revert" is a wrong word (implying you have already done > something and you are trying to defeat the effect of that old > something), and you meant to say "reverse" (i.e. the opposite of > normal) or something. You are right. Probably transpose is the best description what the patch really does. > I am unsure about the usefulness of this, though. > After completing a topic on branch A, you would merge it to your own > copy of the integration branch (e.g. 'master') and try to push, > which may be rejected due to non-fast-forwardness: > $ git checkout master > $ git merge A > $ git push > At that point, if you _care_ about the merge parent order, you could > do this (still on 'master'): > $ git fetch origin > $ git reset --hard origin/master > $ git merge A > $ test test test > $ git push > With --reverse-parents, it would become: > $ git pull --reverse-parents > $ test test test > $ git push > which certainly is shorter and looks simpler. The workflow however > would encourage people to work directly on the master branch, which > is a bit of downside. Our developers work mainly on master branches. The project consists of many thousands independent git repositories, and at the given time a developer usually wants to make only one commit in the given repository and push his changes upstream. So he usually doesn't care to make a branch. Then after failed pushed, one needs to add creation and removal of temporary branch (see the commit message of the suggested patch). The possibility to do git pull --reverse-parent would make the life easier in this case. > Is there any interaction between this "pull --reverse-parents" > change and possible conflict resolution when the command stops and > asks the user for help? For example, whom should "--ours" and "-X > ours" refer to? Us, or the upstream? The change of order of parents happens at the very last moment, so "ours" in merge options is local version and "theirs" upstream. -- Kacper Kornet -- 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