News for hackers. Stuff that matters.
Re:Heptapod – Mercurial for Gitlab by BeetleB on Thursday August 27, 2020 @12:50AM (#24290220)
It. Just. Works.

The only people who are unhappy with Mercurial are git users. Everyone I know who is coming from something else to Mercurial never have a desire to leave it.

It has a lot (most, really) of the power of Git, but no one has found a need to make an "Oh Shit Hg" site, because it's not trivial to screw up in it.

Because it has a separation between simple and advanced features (many of which are disabled unless you explicitly enable them), you don't get people wasting a lot of time trying to find the ideal workflow in Mercurial. In a sense it's a bit like Perl vs Python. Perl has many ways to do the same thing. Python is more opinionated, and has preferred ways of doing things. As a result, a team of N Mercurial users will usually not have N different workflows. In my current team, there's been a lot of thrash/arguments over the workflow (rebase vs merge, squash vs not, linear vs branched history, history rewriting vs not, etc).

The documentation, though, sucks. It's quite outdated.

Re:Heptapod – Mercurial for Gitlab by mekster on Thursday August 27, 2020 @02:47AM (#24290752)
Can someone actually mention the positive side of Mercurial specifically?

I'm getting bit by git so often and for those people who are barely programmers are also required to use git to commit their HTML/CSS stuff but once something doesn't work, I have to Google around and waste an hour trying to fix the repo and I'm all for willing to use something else if it's better but I know that people just simply jumped on it because of Linux/Linus name without thinking (kernel workflows are different than most people's but people only realized after feeling the pains) and the git's ecosystem is already far ahead of the others.

I even considered using subversion locally to push to central git but there is no such luck when the reverse is quite possible.

Re:Heptapod – Mercurial for Gitlab by type0 on Thursday August 27, 2020 @04:08AM (#24291187)
> Can someone actually mention the positive side of Mercurial specifically?

The workflow is faster for new users to learn, less concepts to grok, good GUI support, that's about it

> and for those people who are barely programmers are also required to use git to commit their HTML/CSS stuff but once something doesn't work

You would find that it's difficult to get non programmers to use hg even with a GUI, unless you have some very open minded people

> I know that people just simply jumped on it because of Linux/Linus name without thinking

Not true, so many git users have no idea who made this tool and don't actually care, all they care is that it's open source and suits most of their tasks

Re:Heptapod – Mercurial for Gitlab by mekster on Thursday August 27, 2020 @05:00AM (#24291500)
New users don't know but early adopters who advocated to spread the ecosystem and tooling surely chose git because it was used for the kernel and guessed that it would work for everyone. New users never had any choice these days as their workplace is already using git.
Re:Heptapod – Mercurial for Gitlab by rich_sasha on Thursday August 27, 2020 @02:58AM (#24290800)
> you don't get people wasting a lot of time trying to find the ideal workflow in Mercurial.

Interesting. I’m keen on trying Mercurial, but one thing that has somewhat confused me is the profusion of branch-like workflows. Named branches, bookmarks, now also topics (or whatever it’s called), hidden commits etc.

Is there a good definitive guide somewhere on the best workflows for hg?

Re:Heptapod – Mercurial for Gitlab by CaptainRefsmat on Thursday August 27, 2020 @10:57AM (#24294297)
> Is there a good definitive guide somewhere on the best workflows for hg?

I don't know about workflows specifically, but there is a very good reference [0] about Mercurial's branching models. Maybe this will help you.

[0] https://stevelosh.com/blog/2009/08/a-guide-to-branching-in-m...

Re:Heptapod – Mercurial for Gitlab by rich_sasha on Thursday August 27, 2020 @12:33PM (#24295386)
Thanks for this. This is fairly old now though, and doesn't even mention bookmarks (which I understand to be like git branches, except they aren't (?) synched between repo copies. Then there's some new stuff that apparently are very good, but I can't find a proper description of how they work / should be used.
Re:Heptapod – Mercurial for Gitlab by BeetleB on Thursday August 27, 2020 @01:57PM (#24296507)
> This is fairly old now though, and doesn't even mention bookmarks.

What do you mean? It has a section on it:

https://stevelosh.com/blog/2009/08/a-guide-to-branching-in-m...

(I have not audited to see how accurate the information is, though).

> Then there's some new stuff that apparently are very good, but I can't find a proper description of how they work / should be used.

Yes - I often wished that someone wrote and maintained an article listing all the extensions that one likely will want to use.[1] One you may want to look into is evolve.

[1] Maybe someone has written this - I haven't checked in the last few years.

Re:Heptapod – Mercurial for Gitlab by rich_sasha on Thursday August 27, 2020 @03:00PM (#24297291)
Ah my bad, missed it, you’re right.
Re:Heptapod – Mercurial for Gitlab by BeetleB on Thursday August 27, 2020 @12:30PM (#24295332)
That's what I meant by outdated documentation.

I personally use bookmarks. They're simple to use. However, people have issues using them in a team setting (by default it doesn't sync the bookmarks when there's a push, I think). I have not explored topics - looking at Heptapod it seems they prefer topics, so it may be the way to go.

If you're the only developer, then bookmarks should do everything you want.

Re:Heptapod – Mercurial for Gitlab by Already__Taken on Thursday August 27, 2020 @03:20PM (#24297544)
I'm reserving judgement on HG but the comments saying it just works and is so easy gives me a good chuckle were I've had to set up all sorts that's non-obvious. topics not branches? cool ok. command not found, right uh enable extension 'topics =' yep sure obvious ok, Huh wired error now. oh pip install hg-evolve has topics in it fine ok.

go add a remote to an existing repo. lovely ux there.

and now you're telling me about bookmarks, I've a docs page open to read about phases, that seems kinda neat. at first glance thought it seems like a solved problem of protected branches and separate forks.

Re:Heptapod – Mercurial for Gitlab by BeetleB on Thursday August 27, 2020 @04:09PM (#24298072)
As I said - the only people who complain are those who are git users :-)

People who've not used git and come to mercurial don't find anything wanting in it.