Mercurial 3.5 Released
gregoryszorc.com
gregoryszorc.com
Mercurial does everything that git does (in fact, you can pull from or push to git repos with hg-git), has a UI that's easier to learn, and has online help that is terse and helpful. As far as killer features go, check out phases[1] and changeset evolution[2]. The latter is still at alpha level and the UI is unstable, but I use it for day-to-day work and find it incredibly useful.
Granted, it's not a commonly used feature by solo devs working on their own projects, but is useful for team repos that get large enough where you need to do audits on the codebase.
[1] http://jordi.inversethought.com/blog/customising-mercurial-l...
I never thought of this particular use case. Will give it try.
I own up to my preference to rewrite history—git has facilitated that in equal measure to mercurial—but my first source control love is mercurial queues. Queues taught me how to structure and sequence my changesets, and through that the structure of codebase evolution. The user experience is still unmatched by any patch queue on git.
There are a few rough edges; creating a new branch (git branches are mapped onto hg bookmarks) is a bit clunky, and it's easier to create the branch at the git end and then do an hg pull to get all the metadata set up, but I mainly use it with github and github's UI for handling branches is pretty good.
I know Git now not because it's nice to use, but due to rote memorization and muscle memory.
The things is, they'd need to be '500% better' to offset the network effect of the mainstream tech.
I made a few improvements to the template engine to make it easier to write your own templates. An example is the new built-in `hg log --template=status` or `hg log -T status` for short. For each commit it displays file additions, removals, and modifications using the same style as `hg status`. Copies are displayed if you pass the --copies/-C flag, just like `hg status` too. You can see this template in the map-cmdline.status file in the installed Mercurial templates directory:
https://selenic.com/hg/file/tip/mercurial/templates/map-cmdl...
I especially like this example because it exhibits Mercurial's extensibility and overall philosophy very well. Rather than cluttering the CLI with a bunch of extra obscure options (such as a hypothetical --status option), we provide a generic mechanism where more advanced users can hook their own customisations into. We do not complicate the UI for the uncommon case.
[1]: https://hglabhq.com
I just started using them yesterday. So far so good.
I'm looking through the change log and although its large, it also seems rather mundane.
Are there new standout features beyond the new network protocol?
If you tell me "just use Homebrew" I will berate you a LOT.