Again, compare with how perfectly symmetrical pull/push operations are in Mercurial.
Again, compare with how perfectly symmetrical pull/push operations are in Mercurial.
perhaps it's that i'm just only used to git's definitions of the words, but they seem symmetrical to me in the sense that they both try to synchronise history, either upwards or downwards.
i can't really imagine what a pull would do differently than a merge or rebase that would satisfy the idea of synchronisation but be more symmetrical as you describe. i'd really appreciate an elaboration.
Note that there's no merging going on here. All the merging/rebasing/rewriting happens before "hg push".
Now, "hg pull" does perfectly symmetrical thing: it downloads a bundle from the server and commits it to the local repository. Working copy is not affected at all. Again, merging/rebasing happens elsewhere, outside of "hg pull" workflow.