LWN: Comments on "Hg Init: a Mercurial tutorial" https://lwn.net/Articles/375935/ This is a special feed containing comments posted to the individual LWN article titled "Hg Init: a Mercurial tutorial". en-us Sat, 08 Nov 2025 12:28:23 +0000 Sat, 08 Nov 2025 12:28:23 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Hg Init: a Mercurial tutorial https://lwn.net/Articles/377254/ https://lwn.net/Articles/377254/ nye <div class="FormattedComment"> <font class="QuotedText">&gt;Does it have support for understanding that its more convenient for text files on Windows to have CRLF endings, and that it should hide this when editing cross-platform files on Windows and posix platforms?</font><br> <p> Yes.<br> Set autocrlf appropriately (I *believe* it's enabled by default on Windows). It even has the 'input' setting which will convert CRLF to LF when committing but not when checking out, which can be very useful if you ever copy files from one system to another, and I always enable on Linux.<br> <p> Git has the expected heuristics to decide whether a file is binary or text, along with the ability to add a hint if you need to.<br> <p> It's also capable of detecting a mixture of line endings and can be configured to convert them all one way or the other if you want it to (see the safecrlf option).<br> <p> (Although I have to say that it's been *years* since I came across a single Windows application that choked on LF-only line endings, and whose name isn't 'notepad.exe'.)<br> <p> <font class="QuotedText">&gt;To be honest, having upstream devs who care about the cross-platform stuff</font><br> <p> Git seems to have more attention paid to the CRLF problem than the other VCSes I've used in the past, though I've never used Mercurial. Not to mention that portability is a big deal for Git which goes to great lengths to work on a wide variety of platforms.<br> </div> Thu, 04 Mar 2010 15:20:05 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/377210/ https://lwn.net/Articles/377210/ jmansion <div class="FormattedComment"> <font class="QuotedText">&gt; 2) git has been a native application on Windows for years now.</font><br> <p> There's a difference between 'runs on Windows' and 'is usable on Windows'.<br> <p> Does it have support for understanding that its more convenient for text files on Windows to have CRLF endings, and that it should hide this when editing cross-platform files on Windows and posix platforms?<br> <p> hg seems nice to me. I was enjoying bzr too but hgEclipse is sufficiently better than bzrEclipse that I'm transitioning to hg.<br> <p> To be honest, having upstream devs who care about the cross-platform stuff is enough to make hg a clear win for me compared to having a secondary port for Windows. It doesn't really matter to me if git is better than hg on linux.<br> <p> </div> Thu, 04 Mar 2010 10:42:55 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/377121/ https://lwn.net/Articles/377121/ oblio <div class="FormattedComment"> 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.<br> <p> 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" :)<br> </div> Wed, 03 Mar 2010 21:45:07 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/377017/ https://lwn.net/Articles/377017/ nix <div class="FormattedComment"> Sorry, I found that graphical output horrible. The colours don't <br> signify 'appeared' or 'disappeared' in any particular fashion, lots of the <br> code is duplicated on both sides, spontaneously inserted vertical space <br> that doesn't exist in *any* version of the actual code, massive eye <br> movement is needed to figure out what changed... ew. Give me a unified <br> diff anyday. (Context diffs have the same problem as the graphical output: <br> massive eye movement just to figure out if a line was added or not.)<br> <p> </div> Wed, 03 Mar 2010 12:55:17 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376790/ https://lwn.net/Articles/376790/ oblio <div class="FormattedComment"> <font class="QuotedText">&gt; 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.</font><br> <p> <p> Well... for all sorts of analysis something graphical is easier to use. At least for regular people like me :)<br> <p> 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.<br> Compare this output:<br> $ svn diff<br> Index: bar.c<br> ===================================================================<br> --- bar.c (revision 3)<br> +++ bar.c (working copy)<br> @@ -1,7 +1,12 @@<br> +#include &lt;sys/types.h&gt;<br> +#include &lt;sys/stat.h&gt;<br> +#include &lt;unistd.h&gt;<br> +<br> +#include &lt;stdio.h&gt;<br> <p> int main(void) {<br> - printf("Sixty-four slices of American Cheese...\n");<br> <p> To this one:<br> <a rel="nofollow" href="http://winmerge.org/about/screenshots/screenshot.png">http://winmerge.org/about/screenshots/screenshot.png</a><br> <p> svn diff is good as a part of an API, but not as an user interface, that's for sure :)<br> <p> 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).<br> <p> 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).<br> <p> <p> <font class="QuotedText">&gt; I don't really see why anyone cares, TBH :P</font><br> <p> Because most people have day jobs? Of course companies and their projects are a big deal :)<br> </div> Tue, 02 Mar 2010 18:09:37 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376723/ https://lwn.net/Articles/376723/ nye <div class="FormattedComment"> <font class="QuotedText">&gt;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.</font><br> <p> 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.<br> <p> <font class="QuotedText">&gt;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 ;)</font><br> <p> I don't really see why anyone cares, TBH :P<br> </div> Tue, 02 Mar 2010 11:37:22 +0000 mq seems very limited https://lwn.net/Articles/376719/ https://lwn.net/Articles/376719/ intgr <div class="FormattedComment"> <font class="QuotedText">&gt; I cannot do the basic stuff, such as posting series of patches</font><br> You mean the patchbomb extension? Seriously, did you even try Google?<br> <p> </div> Tue, 02 Mar 2010 10:34:29 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376545/ https://lwn.net/Articles/376545/ sitaram <div class="FormattedComment"> looks nice... I'm sure someone will convert it to git (assuming the copyright allows); the first chapter (for SVN folks), is very impressive.<br> </div> Tue, 02 Mar 2010 08:55:32 +0000 git "too hard to use"? https://lwn.net/Articles/376503/ https://lwn.net/Articles/376503/ cmccabe <div class="FormattedComment"> <font class="QuotedText">&gt; I am sorry, but that it is nonsense. It is impossible to merge binary files</font><br> <font class="QuotedText">&gt; like .DOC, .PDF, artwork, etc. Those ate precisely the type of documents</font><br> <font class="QuotedText">&gt; that non-developers need. Branches are actively harmful to them.</font><br> <p> It's impossible to merge them *automatically*. This is a flaw in the file format and toolset, and has nothing to do with version control per se.<br> <p> If you have more than one documentation writer on the payroll, you're already spending time merging changes manually. Even if you make each chapter (or whatever) of documentation a separate file, there will still be some cross-references and dependencies.<br> <p> If you would have used .tex and .svg, you wouldn't have this problem, or at least not to this extent. If you like Microsoft, their Sharepoint stuff is designed to solve exactly this problem-- to make office documents mergeable.<br> <p> It's hard to see how you can get away from using subversion and mandatory locking with the workflow you have now. But this is not because employees are too stupid to understand branching. It's because the tools you are using are old and rusty, and don't support the diff operation. This also will make it hard for you to audit what people have done. If I make a few spelling corrections to the PDF and then commit it as "added whole new section on zebras" how is my manager going to know the difference? You're just using the honor system, basically.<br> <p> By the way, if you need mandatory locking and good handling of binary files, you might also check out Perforce. They have good GUI and Windows support (although subversion has been improving a lot lately.)<br> <p> </div> Sun, 28 Feb 2010 20:25:35 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376493/ https://lwn.net/Articles/376493/ bjacob <div class="FormattedComment"> For the record, I have just learnt that gitorious.org offers an option to disable "git push -f" altogether.<br> </div> Sun, 28 Feb 2010 16:14:59 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376492/ https://lwn.net/Articles/376492/ bjacob <div class="FormattedComment"> About rollback: OK but its effect is very limited: it affects only the last transaction.<br> About queues: it's a special enough case that their mutability doesn't mean that hg history as a whole is mutable...<br> </div> Sun, 28 Feb 2010 16:13:43 +0000 VCS with locks https://lwn.net/Articles/376459/ https://lwn.net/Articles/376459/ nix <div class="FormattedComment"> It helped that other branches of the same organization (for 'other <br> branches' read 'sitting across the room') had been convinced by these <br> auditors, so were using SCCS with a horrible shell script wrapper to <br> attempt to provide some semblance of branching, and auditor-imposed <br> constraints to prevent reservation in a wide variety of situations (such <br> as a single client out of hundreds querying something in *any* previous <br> change touching the same file: want to make an unrelated change touching <br> such a file, got to find a way to make it in a different file instead!), <br> so everyone talking to the auditors knew *exactly* how horrible their <br> proposed golden age would be.<br> <p> </div> Sat, 27 Feb 2010 22:03:05 +0000 VCS with locks https://lwn.net/Articles/376445/ https://lwn.net/Articles/376445/ man_ls You were quite brave to convince the auditors. In a way it is easy since git provides many more auditing features, but the process does not look so rosy. <p> But I have also to say that <a href="http://www.davidpbrown.co.uk/jokes/monty-python-four-yorkshiremen.html">you were lucky</a>: I have worked at places where the developers themselves could not be convinced to work without locks, and distributed VCS was alien technology. It was trebly painful: they did not trust nor understand lock-free VCS, they should have known better, and up to now they are still working with locks (with all that it entails). Sat, 27 Feb 2010 21:17:11 +0000 VCS with locks https://lwn.net/Articles/376442/ https://lwn.net/Articles/376442/ nix <div class="FormattedComment"> I've worked at places where auditors who believed this came in, and tried <br> to force everyone to go back from git to (I kid you not) SCCS.<br> <p> Convincing them otherwise was most unpleasant. I wish we could just have <br> lied to them to get them to go away.<br> <p> </div> Sat, 27 Feb 2010 18:46:32 +0000 VCS with locks https://lwn.net/Articles/376437/ https://lwn.net/Articles/376437/ man_ls Sorry, the first should be those who still want to work with locks (à la SourceSafe): lock/checkout/checkin/unlock. There are many, and they believe that working without locks is "unsafe". In comparison svn advocates are patron saints of the arts. Sat, 27 Feb 2010 17:53:52 +0000 git "too hard to use"? https://lwn.net/Articles/376428/ https://lwn.net/Articles/376428/ man_ls <blockquote type="cite"> From experience, the lock-modify-unlock model and Visual Source Safe specifically, is the best VCS for non-developers. </blockquote> Also from experience, the lock-modify-lock is still the right way to do things for some developers (and I am saying this with shame). A bit ironically, working without locks is easier with distributed systems such as hg than with centralized systems such as SVN. Sat, 27 Feb 2010 15:05:50 +0000 git "too hard to use"? https://lwn.net/Articles/376373/ https://lwn.net/Articles/376373/ mikov <div class="FormattedComment"> <font class="QuotedText">&gt; Yes they do. Since when do documentation writers not need to manage</font><br> <font class="QuotedText">&gt; revisions to their documentation?</font><br> <p> They don't want to create and manage branches. They want to work on <br> branches others have created. However in Git creating a branch is often <br> implicit or required in ordinary work-flow, which makes it confusing for <br> people.<br> <p> <font class="QuotedText">&gt; What are they doing using rebase? You should never use that on a branch</font><br> <font class="QuotedText">&gt; that has been published for others to see.</font><br> <p> This is not the place and time to explain how Git works, but in short, if <br> you don't want to create an implicit branch when pulling, you have to do a <br> "git-pull --rebase". Rebasing is an essential activity when maintaining <br> your local repository, but it can also be confusing to non-technical <br> people. <br> <p> <font class="QuotedText">&gt; That’s not how the real world works. Even with common-or-garden office</font><br> <font class="QuotedText">&gt; documents, it’s common for them to be passed around to different people</font><br> <font class="QuotedText">&gt; who will make comments and submit annotations, all of which have to be</font><br> <font class="QuotedText">&gt; collated and reconciled together somehow. A distributed VCS merely</font><br> <font class="QuotedText">&gt; formalizes the process. The more complex the documentation, the more</font><br> <font class="QuotedText">&gt; important such formalization becomes.</font><br> <p> I am sorry, but that it is nonsense. It is impossible to merge binary files <br> like .DOC, .PDF, artwork, etc. Those ate precisely the type of documents <br> that non-developers need. Branches are actively harmful to them.<br> <p> <font class="QuotedText">&gt; Concepts of branches, tagging and merging are common to all modern</font><br> <font class="QuotedText">&gt; version control systems—there’s nothing specific to Git about any of</font><br> <font class="QuotedText">&gt; them. What’s different about Git is the fact that your entire commit</font><br> <font class="QuotedText">&gt; history is nothing but a DAG, and branches and tags are just pointers</font><br> <font class="QuotedText">&gt; into that DAG.</font><br> <p> I am not interested in Git advocacy. As I mentioned earlier, I find Git <br> excellent for development (perhaps the best VCS there is), but too complex <br> for non-developers (and actually for many developers too). The latter is an <br> observable fact, not just an opinion. The reluctance to accept it is a bit <br> perplexing to me.<br> </div> Sat, 27 Feb 2010 00:23:50 +0000 git "too hard to use"? https://lwn.net/Articles/376369/ https://lwn.net/Articles/376369/ ldo <P>mikov wrote:</P> <BLOCKQUOTE><P><FONT COLOR="#000080">The people I am referring to are not 'software developers'. I mentioned documentation writers, testers, web designers, etc. They don't need and <I>don't want</I> to manage branches.</FONT></P></BLOCKQUOTE> <P>Yes they do. Since when do documentation writers not need to manage revisions to their documentation?</P> <BLOCKQUOTE><P><FONT COLOR="#000080">Yet, every git-pull is potentially a merge and git-rebase requires understanding of what commits are, the relation between hashes and commits, etc.</FONT></P></BLOCKQUOTE> <P>What are they doing using rebase? You should <I>never</I> use that on a branch that has been published for others to see.</P> <BLOCKQUOTE><P><FONT COLOR="#000080">From experience, the lock-modify-unlock model and Visual Source Safe specifically, is the best VCS for non-developers. They really really like that by default a file can be checked out and modified only by a single person.</FONT></P></BLOCKQUOTE> <P>That’s not how the real world works. Even with common-or-garden office documents, it’s common for them to be passed around to different people who will make comments and submit annotations, all of which have to be collated and reconciled together somehow. A distributed VCS merely formalizes the process. The more complex the documentation, the more important such formalization becomes.</P> <P>Concepts of branches, tagging and merging are common to all modern version control systems—there’s nothing specific to Git about any of them. What’s different about Git is the fact that your entire commit history is nothing but a DAG, and branches and tags are just pointers into that DAG.</P> Fri, 26 Feb 2010 23:29:55 +0000 repository format? https://lwn.net/Articles/376364/ https://lwn.net/Articles/376364/ bfields <blockquote>If you use packs (as everybody does), corrupted writes in the pack could destroy the history too (but they probably use transactions and checks like hg to detect it).</blockquote> <p>No, my understanding is that packs are write-once just like other objects. (So you have to pack loose objects every now and then to keep performance from degrading.) Fri, 26 Feb 2010 21:42:22 +0000 mq seems very limited https://lwn.net/Articles/376361/ https://lwn.net/Articles/376361/ proski As a heavy STGig user, the Mercurial mq extension seems very underpowered. I cannot do the basic stuff, such as posting series of patches. If I want to hack on a project that uses Mercurial, I import it into a git repository and work on it with STGit. Unfortunately, I'm not aware of any tool like git-svn that would allow me to track a Mercurial repository with git. Fri, 26 Feb 2010 21:14:50 +0000 git "too hard to use"? https://lwn.net/Articles/376352/ https://lwn.net/Articles/376352/ mikov <div class="FormattedComment"> Wrong and wrong again.<br> <p> This is a good example of the kind of naivete that doesn't actually help <br> people use Git in the real world<br> <p> The people I am referring to are not 'software developers'. I mentioned <br> documentation writers, testers, web designers, etc. They don't need and <br> _don't want_ to manage branches. Yet, every git-pull is potentially a merge <br> and git-rebase requires understanding of what commits are, the relation <br> between hashes and commits, etc.<br> <p> Take the following example error message, which while technically very <br> meaningful, would be utterly confusing to them:<br> <p> "error: failed to push some refs to '....'<br> To prevent you from losing history, non-fast-forward updates were rejected"<br> <p> Refs? non-fast-forward? WTF? <br> <p> Whether they have been 'damaged' by using 'inferior VCS' is <br> questionable, but regardless, they are what they are, and they may be fully <br> competent at their respective jobs without understanding Git or knowing <br> what a SHA hash is.<br> <p> From experience, the lock-modify-unlock model and Visual Source Safe <br> specifically, is the best VCS for non-developers. They really really like <br> that by default a file can be checked out and modified only by a single <br> person. <br> <p> I am thinking that the right solution to this kind of problem may be to <br> develop reverse bridges. A bridge from Git to SVN, or from Git to VSS. So <br> that the main repository can be kept in Git, but parts of the team can <br> interact with it through the safe environment of "lock-modify-unlock".<br> <p> <p> </div> Fri, 26 Feb 2010 20:11:40 +0000 git "too hard to use"? https://lwn.net/Articles/376345/ https://lwn.net/Articles/376345/ cmccabe <div class="FormattedComment"> No, no, and no.<br> <p> This is a good example of the kind of brain damage that years of using an inferior version control system can inflict on people.<br> <p> Merging and branching aren't complicated and arcane operations that only special experts can handle. They're routine operations that every software developer needs to deal with. Every company that develops software will have multiple code branches active at the same time (unless they're small enough to fit in your garage.) Every developer will need to merge his changes forwards and backwards from time to time.<br> <p> Subversion and CVS have historically given you very little help doing merges (although the situation has improved slightly recently.) This led to an attitude of superstition and fear towards branches. But if you don't understand branching and merging, you *will get burned*, no matter which VCS you use. It's better to just explain to people how things really work.<br> <p> </div> Fri, 26 Feb 2010 19:06:16 +0000 Printing this tutorial https://lwn.net/Articles/376319/ https://lwn.net/Articles/376319/ seneca6 <div class="FormattedComment"> Does anyone succeed in printing this tutorial in a nice form? If so, using what software? (I rarely<br> print articles, but this would be worth it.)<br> </div> Fri, 26 Feb 2010 16:06:08 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376294/ https://lwn.net/Articles/376294/ cortana <div class="FormattedComment"> Whoops! To clarify, I was referring to Git rather than "it" (hg) :)<br> </div> Fri, 26 Feb 2010 09:43:46 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376279/ https://lwn.net/Articles/376279/ dlang <div class="FormattedComment"> git also has issues with large files.<br> <p> the point at which a file gets large enough to cause problems (and what the problems are) are obviously different between the two.<br> </div> Fri, 26 Feb 2010 06:43:39 +0000 git "too hard to use"? https://lwn.net/Articles/376264/ https://lwn.net/Articles/376264/ mikov <div class="FormattedComment"> The problem is not only the command line. (BTW, TortoiseGit sucks big <br> time). <br> Conceptually Git is much more complex than SVN or VSS. To use Git, even in <br> trivial scenarios, people need to understand branches, perform merges, <br> resolve conflicts, etc. Not to mention their reaction when they see the SHA <br> hashes :-)<br> <p> Imagine the simplest case of a centralized SVN-like workflow. At the very <br> least it requires understanding of remote repository tracking, merging <br> or rebasing. If people don't understand what is really going on, they <br> invariably hit a wall sooner or later.<br> <p> Don't get me wrong. I don't think this is a shortcoming of Git. Git is <br> conceptually complex, because it is conceptually very powerful, and I like <br> it that way. But that means that "regular people" may never be able to use <br> it adequately. I am not sure what the solution is. In fact I am not sure <br> that I want a solution :-)<br> </div> Fri, 26 Feb 2010 01:24:46 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376260/ https://lwn.net/Articles/376260/ cortana <div class="FormattedComment"> It handles binary files just fine. It handles *large* files (text or binary) poorly though. Specifically I am referring to the Windows port (msysgit) which tries to compress files before sending them to the server; if it runs out of memory (which it will, since it's only a 32-bit application and so can only address a couple of GiB of RAM) then it dies with a typically obtuse error message.<br> </div> Fri, 26 Feb 2010 00:46:34 +0000 git "too hard to use"? https://lwn.net/Articles/376259/ https://lwn.net/Articles/376259/ cortana <div class="FormattedComment"> As soon as you show these people the command line they get scared. Once Git has something as good as TortoiseSVN then it will be ready for them.<br> </div> Fri, 26 Feb 2010 00:41:22 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376255/ https://lwn.net/Articles/376255/ brodie <div class="FormattedComment"> Git actually "happened" at nearly the same time as Mercurial: Both were created by kernel hackers <br> for the kernel in April of 2005.<br> </div> Fri, 26 Feb 2010 00:19:34 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376241/ https://lwn.net/Articles/376241/ oblio <div class="FormattedComment"> 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.<br> <p> 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 ;)<br> </div> Thu, 25 Feb 2010 22:37:46 +0000 hg/git vs svn/cvs: Just use git-svn https://lwn.net/Articles/376198/ https://lwn.net/Articles/376198/ vonbrand <p> Yes, but that is cheating ;-) Thu, 25 Feb 2010 17:53:26 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376193/ https://lwn.net/Articles/376193/ nye <div class="FormattedComment"> 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.<br> <p> 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.<br> </div> Thu, 25 Feb 2010 17:49:32 +0000 git "too hard to use"? https://lwn.net/Articles/376196/ https://lwn.net/Articles/376196/ vonbrand <p> How is git "a serious obstacle"? It <em>used</em> to be only for experts in arcana, but today it is much more (user)friendly. Try a recent (1.6 or later) version on your "technically unsavy" users before jumping to conclusions. And don't try to show them the whole toolkit, keep at the dozen or so most used commands. Thu, 25 Feb 2010 17:48:34 +0000 hg/git vs svn/cvs https://lwn.net/Articles/376194/ https://lwn.net/Articles/376194/ rfunk <div class="FormattedComment"> "project maintainers who still believe svn/cvs/... are a good idea should be <br> the first against the wall for the pain they inflict on everyone else."<br> <p> Not entirely -- with git-svn you can use git locally while working with a <br> subversion repository.<br> </div> Thu, 25 Feb 2010 17:45:49 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376165/ https://lwn.net/Articles/376165/ djpig <div class="FormattedComment"> <p> <font class="QuotedText">&gt; 1) git allows anyone with write access to damage your history with</font><br> <font class="QuotedText">&gt; 'git push -f'. While this is OK for a very-decentralized project like</font><br> <font class="QuotedText">&gt; Linux, it doesn't work well for projects that have a central</font><br> <font class="QuotedText">&gt; repository with hundreds of writers.</font><br> <p> That's what receive.denyNonFastForwards is for.<br> Of course for any reasonable complex setup you probably want to write an update hook anyway.<br> </div> Thu, 25 Feb 2010 16:05:31 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376141/ https://lwn.net/Articles/376141/ BenHutchings <div class="FormattedComment"> History is most certainly mutable in Hg. Even without considering the mq extension, 'rollback' will remove the last changeset.<br> </div> Thu, 25 Feb 2010 14:06:48 +0000 Git on Windows https://lwn.net/Articles/376127/ https://lwn.net/Articles/376127/ epa For Windows users, the <a href="http://github.com/henon/GitSharp">git-sharp</a> implementation of Git may be useful. It is a reimplementation of the code in C# and might fit more easily into Windows-flavoured .NET applications. I don't believe any GUI front end has yet been written, however. Thu, 25 Feb 2010 12:17:10 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376108/ https://lwn.net/Articles/376108/ mpr22 <div class="FormattedComment"> There's nothing nuts about putting your new projects in the same source control system as your existing projects.<br> </div> Thu, 25 Feb 2010 10:14:33 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376098/ https://lwn.net/Articles/376098/ bboissin <div class="FormattedComment"> In what way does it not handle binary files well, in theory there aren't <br> many differences in the way they deal with them.<br> </div> Thu, 25 Feb 2010 08:55:55 +0000 Hg Init: a Mercurial tutorial https://lwn.net/Articles/376096/ https://lwn.net/Articles/376096/ lmb <div class="FormattedComment"> Arguing hg versus git is pointless, since it is a matter of taste and preference. (I personally prefer hg.)<br> <p> But hg/git versus svn/cvs/... is a matter of sanity, and project maintainers who still believe svn/cvs/... are a good idea should be the first against the wall for the pain they inflict on everyone else.<br> </div> Thu, 25 Feb 2010 08:53:27 +0000