OpenJDK (Java) migrating from Mercurial?
Malcolm Matalka
mmatalka at gmail.com
Mon Nov 18 09:22:44 UTC 2019
Craig Ozancin <c.ozancin at gmail.com> writes:
> On Sun, Nov 17, 2019 at 8:29 PM Bob Hood <bhood2 at comcast.net> wrote:
>
>> On 11/17/2019 8:33 AM, Craig Ozancin wrote:
>>
>>
>> What git doesn't provide:
>>
>> - revsets
>> - hg phases
>> - hg evolve
>>
>>
>> And let us not forget: Named Branches.
>>
>> I've used (and relied on) this feature in all the SCMs I've used right up
>> to Mercurial. I never got the hang of using bookmarks to manage multiple
>> versions of a product; named branches makes it very clean and easy.
>>
>> Unless git adds that (and they won't), I would have a hard time even
>> considering adopting it.
>>
>
> It seems that every time I come across a git vs mercurial comparison on the
> internet (including some withing the past year) they will inevitably refer
> to how hard mercurial branching is to git. They are comparing gits light
> weight branching with mercurial named branching. They are quite different
> and serve different usages. Named branches are great for long term needs.
> If named branches where are that mercurial offered, then maybe that would
> be true. However, mercurial has a wealth of branching options:
I think this is also a problem, though. As someone who is a big hg fan
only recently, I struggled for awhile to figure out how to do branching
in hg and I probably still don't do it very well. I, almost
exclusively, use bookmarks. And because there are so many options out
there, there is also no definitive "here is how to do it" document. The
technical information is also conflicting. Are hg branches too
expensive for git-like branching? Some say yes, some say no. And
topics? Those don't seem super well documented so I don't even know how
to use them.
I think hg is a superior product overall, but I think the branching
situation is not a point of strength.
>
> - Named branches
> - bookmarks (very similar to gits branching)
> - The new topic brancing (very short lived transient branches that will
> delete themselves when their content is published)
> - clone branching
> - anonymous branching (moving to a change set and adding a new changeset --
> which in git will give you a detached head and the possibility of it being
> garbage collected)
>
> I personally use a number of these.
>
> - I use named branches for stable content.
> - I use clone branching for new features (I clone the repository, do my
> work, pull updates from the parent and when completed push the changes)
> - I use anonymous branches when i need to do a quick fix off a specific
> change-set. I then use rebate and fold it in.
> - I use bookmarks for experimental work (in a cloned branch)
>
> I tie this all together using evolve and a master local repository I call
> staging. The thought of doing this using git seems very painful and is
> likely to double or triple my work. It would require me to move to a more
> cumbersome and primitive workflow.
>
> I did create a bash script call all that I use to manage multiple
> repositories. I have hooked it into mercurial using an alias. I can. for
> example, do:
>
> hg all status
>
> and it will show me the status for all repositories it fines under the
> current directory.
>
> hg all pull --update --rebase is another I commonly use.
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20191118/19ebdfb2/attachment.asc>
More information about the Mercurial
mailing list