Yes, when you push with Mercurial, you will silently get a new anonymous head if there are upstream children of your current change, whereas Git will throw a rock at you and refuse to push. This can make Git users feel nauseated because of their need for every lineage to have a carefully manicured pedigree. Indeed Git makes you expressly create the lineage with a distinguished name and go through a registration process before you can push it upstream.
I still like Mercurial better. You pushed something and, oh, that meant creating a new lineage. So we did that. Maybe you want to give it a name, maybe it won't be around long enough to deserve one. If it needs a name, then you do that with a bookmark on the new head. Pushing the bookmark is optional. What's important here is that Mercurial didn't throw any rocks at you and no history got destroyed. That seems obviously superior to me, but whatever.
no subject
Date: 2015-01-08 04:23 pm (UTC)Yes, when you push with Mercurial, you will silently get a new anonymous head if there are upstream children of your current change, whereas Git will throw a rock at you and refuse to push. This can make Git users feel nauseated because of their need for every lineage to have a carefully manicured pedigree. Indeed Git makes you expressly create the lineage with a distinguished name and go through a registration process before you can push it upstream.
I still like Mercurial better. You pushed something and, oh, that meant creating a new lineage. So we did that. Maybe you want to give it a name, maybe it won't be around long enough to deserve one. If it needs a name, then you do that with a bookmark on the new head. Pushing the bookmark is optional. What's important here is that Mercurial didn't throw any rocks at you and no history got destroyed. That seems obviously superior to me, but whatever.