LWN.net Logo

Hg Init: a Mercurial tutorial

Hg Init: a Mercurial tutorial

Posted Feb 24, 2010 20:51 UTC (Wed) by oblio (guest, #33465)
In reply to: Hg Init: a Mercurial tutorial by realnc
Parent article: Hg Init: a Mercurial tutorial

Does git have any robust Windows GUI clients? The killer app for version control isn't the server, it's the client. Kind of like TortoiseSVN - SVN :)

If anyone has hands on experience with a Windows GUI client that is
a) full featured
b) very stable
c) polished (should come with everything it needs in a nice and easy to install package)
d) has an active community/company behind it ironing out bugs
feel free to tell me about it, I'm very interested.


(Log in to post comments)

Hg Init: a Mercurial tutorial

Posted Feb 24, 2010 23:26 UTC (Wed) by donblas (guest, #63860) [Link]

I find that TortoiseHg (http://mercurial.selenic.com/wiki/TortoiseHg) is a good GUI for Mercurial and is comparable with Tortoise SVN.

Hg Init: a Mercurial tutorial

Posted Feb 25, 2010 17:49 UTC (Thu) by nye (guest, #51576) [Link]

I have never understood this. Back in the days before svn was entirely obsolete, I tried TortoiseSVN and found it confusing and difficult to use, especially when compared with the command-line where everything I wanted to do was trivial - both more obvious and far quicker than wrestling with the GUI.

Is it just for people who will always consider a GUI easier than a CLI, no matter how complicated the GUI and simple the CLI? Or is there just some complete disconnect in the way my brain works compared to the target audience? I find a lot of these GUI 'simplifications' so hard to use that I almost feel embarrassed to admit it.

Hg Init: a Mercurial tutorial

Posted Feb 25, 2010 22:37 UTC (Thu) by oblio (guest, #33465) [Link]

Good for you. For most developers out there (and for most people), GUIs have surpassed CLIs for a long time. This is not the place to argue the merits of each.

I'm just pointing out that without a great GUI client, widespread usage, especially in companies, won't happen. And not all the world's projects are community projects ;)

Hg Init: a Mercurial tutorial

Posted Mar 2, 2010 11:37 UTC (Tue) by nye (guest, #51576) [Link]

>Good for you. For most developers out there (and for most people), GUIs have surpassed CLIs for a long time. This is not the place to argue the merits of each.

I wasn't intending to argue. I know what you say is true, but it baffles me. I really would like to understand the reasons behind the difference - I do use predominantly GUI applications, but this is one of many examples where I find the GUI massively harder to use.

>I'm just pointing out that without a great GUI client, widespread usage, especially in companies, won't happen. And not all the world's projects are community projects ;)

I don't really see why anyone cares, TBH :P

Hg Init: a Mercurial tutorial

Posted Mar 2, 2010 18:09 UTC (Tue) by oblio (guest, #33465) [Link]

> I wasn't intending to argue. I know what you say is true, but it baffles me. I really would like to understand the reasons behind the difference - I do use predominantly GUI applications, but this is one of many examples where I find the GUI massively harder to use.

Well... for all sorts of analysis something graphical is easier to use. At least for regular people like me :)

It's much easier to spot the differences when comparing text for example, if the diff program uses different background colors and foreground colors, tooltips and other various visual hints to help see changes.
Compare this output:
$ svn diff
Index: bar.c
===================================================================
--- bar.c (revision 3)
+++ bar.c (working copy)
@@ -1,7 +1,12 @@
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <stdio.h>

int main(void) {
- printf("Sixty-four slices of American Cheese...\n");

To this one:
http://winmerge.org/about/screenshots/screenshot.png

svn diff is good as a part of an API, but not as an user interface, that's for sure :)

Secondly - some changes just are visual. I'm a Vim user and I still don't use the multipliers for moving around text for example. My brain just isn't wired to move 5w, it's wired to go the end of the line for example (which is more of a visual cue).

For example, when merging, a GUI makes things a little bit easier - click a portion of the code, "Use this section". I'm reusing things I know (like pointing :) ), and the interface guides me (and maybe even protects me, since copy/paste or manual editing of the line are error prone).

> I don't really see why anyone cares, TBH :P

Because most people have day jobs? Of course companies and their projects are a big deal :)

Hg Init: a Mercurial tutorial

Posted Mar 3, 2010 12:55 UTC (Wed) by nix (subscriber, #2304) [Link]

Sorry, I found that graphical output horrible. The colours don't
signify 'appeared' or 'disappeared' in any particular fashion, lots of the
code is duplicated on both sides, spontaneously inserted vertical space
that doesn't exist in *any* version of the actual code, massive eye
movement is needed to figure out what changed... ew. Give me a unified
diff anyday. (Context diffs have the same problem as the graphical output:
massive eye movement just to figure out if a line was added or not.)

Hg Init: a Mercurial tutorial

Posted Mar 3, 2010 21:45 UTC (Wed) by oblio (guest, #33465) [Link]

You can change the colors of course, to suit your idea of "right side changed" or "left side changed". Secondly, I don't care much about the "eye movement", since you can use "Next change"/"Previous change" buttons which move everything for me.

At this point, it boils down to: "I'm wired like this" or "I'm used like this". So any debate is moot. It's like religious people versus atheists. Nobody's right, since there is no "right" :)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds