News for hackers. Stuff that matters.
Re:Mercurial 2.8 Released by sibartlett on Tuesday November 05, 2013 @11:22AM (#6675900)
In my experience I have found Mercurial to be slower and less flexible. I use both on a regular basis.
Re:Mercurial 2.8 Released by somnium_sn on Tuesday November 05, 2013 @11:51AM (#6676131)
When was the last time you looked at Mercurial? Recently the community put a lot of effort into performance and it should be very close to git's performance. On the flexibility site, Mercurial has the histedit extension as well as rebase which should give you most flexibility. The bare Mercurial is intended to not do much, but you have to enable a few of the shipped extensions in order to get all the functionality.
Re:Mercurial 2.8 Released by ngoldbaum on Tuesday November 05, 2013 @01:31PM (#6677004)
In particular, I wouldn't use mercurial without a .hgrc like this:

   [ui]
   editor = emacs -nw

   [extensions]
   color =
   pager =
   record =
   graphlog =
   purge =
   progress =
   transplant =

   [pager]
   pager = LESS='FSRX' less
   attend = annotate, cat, diff, export, glog, log, qdiff, heads
histedit and rebase are also useful but not for my usual workflows.
Re:Mercurial 2.8 Released by ezquerra on Tuesday November 05, 2013 @04:02PM (#6678269)
For the record, you don't need to enable the transplant and graphlog extensions anymore. Those are now part of core mercurial:

- The transplant extension has become the "graft" core command (do "hg help graft" for more details) - The graphlog extension functionality has been rolled into the core log command. You must simply use the --graph (or the equivalent -G) flag.

Re:Mercurial 2.8 Released by ngoldbaum on Tuesday November 05, 2013 @04:34PM (#6678506)
Not quite - graft doesn't support remote repositories, transplant does. I didn't know about hg log --graph, I think the muscle memory I have for hg glog will take a little while to break :)

Thanks for the tip.

Re:Mercurial 2.8 Released by ezquerra on Wednesday November 06, 2013 @06:12AM (#6682081)
You are right. That is a small limitation of the graft command compared to the transplant extension. As far as I know that is the only difference between them. I have never needed to do that so I forgot to mention it, sorry!
Re:Mercurial 2.8 Released by ygra on Wednesday November 06, 2013 @02:27AM (#6681333)
You can always do

   [alias]
   glog = log --graph
I guess.
Re:Mercurial 2.8 Released by Skinney on Tuesday November 05, 2013 @02:53PM (#6677714)
Problem with histedit and rebase though is that they won't allow you to change published history. This means if I want to push my changes to a backup repository (not the main development repository) I loose the option of rebasing my feature-branch before pushing it to the main repo :(
Re:Mercurial 2.8 Released by jordigh on Tuesday November 05, 2013 @03:16PM (#6677904)
No, problem with git rebase is that it allows you to do this.

Read this part of the git manual:

man git-rebase | grep -P "^RECOVERING" -A200 | less

Phases are actually a feature that git wants (last idea here):

https://github.com/peff/git/wiki/SoC-2012-Ideas

You have some ways you can work with this in hg using phases. One example is to mark the repo you're publishing to as non-publishing so that hg knows it's safe to edit history pushed to that repo. Another way is to just tell hg that you know better and to use "hg phase --force --draft" whatever commits you want to histedit or rebase.

Re:Mercurial 2.8 Released by twic on Wednesday November 06, 2013 @12:37PM (#6683946)
Mercurial's phases are to Git as FreeBSD's jails are to Linux.
Re:Mercurial 2.8 Released by Skinney on Tuesday November 05, 2013 @05:08PM (#6678773)
Ahh, didn't know about phases. Nice!
Re:Mercurial 2.8 Released by egor_k8n on Tuesday November 05, 2013 @03:20PM (#6677938)
Take a look at Phases: http://mercurial.selenic.com/wiki/Phases

What you need is to make your backup repository non-publishing. Just drop these lines in your .hg/hgrc file inside repo:

    [phases]
    publish = False