<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Category: mercurial | Strongly Emergent]]></title>
  <link href="http://stronglyemergent.com//blog/categories/mercurial/atom.xml" rel="self"/>
  <link href="http://stronglyemergent.com//"/>
  <updated>2017-10-31T10:50:08-07:00</updated>
  <id>http://stronglyemergent.com//</id>
  <author>
    <name><![CDATA[Strongly Emergent Systems]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Sharpening my Saw: Version Control]]></title>
    <link href="http://stronglyemergent.com//blog/2010/sharpening-my-saw-version-control/"/>
    <updated>2010-03-17T06:01:10+00:00</updated>
    <id>http://stronglyemergent.com//blog/2010/sharpening-my-saw-version-control</id>
    <content type="html"><![CDATA[<p>There are several software components that are pretty universally found on the toolbelts of professional programmers.
For example, it&rsquo;s normal to have a favorite IDE/text editor.
It doesn&rsquo;t entirely matter whether you like the visphere, Eclipse, Visual Studio, or emacs - it matters that you&rsquo;ve put some thought into mastering a serious tool that enables high-level work.
As a programmer, there isn&rsquo;t really an alternative: other things held equal, someone who&rsquo;s spent the time to get good at (for example) Eclipse will be more productive than you if you haven&rsquo;t gotten good at such a tool.
The things on the toolbelt are all like that, they make massively increased productivity possible.</p>

<p>Such a tool is version control.
By now we&rsquo;re all used to saving documents.
Version control is like the superpowers version of saving a document: you save the way it was at a specific time, in a continuum of ways it was, and the system nearly coerces you into leaving behind a reason for <em>why</em> you saved it at that time and in that state.</p>

<p><em>Distributed</em> version control - the current flagbearers are <a href="http://git-scm.com/">Git</a>, <a href="http://mercurial.selenic.com/">Mercurial</a>, and <a href="http://bazaar.canonical.com/en/">Bazaar</a> - ups the ante even further by making it much easier for lots of people to work on a project at once and still have that superpower saving.
The difference that the toolkit makes is even more important in group contexts: there are a lot of big projects that we rely on, invisibly, in just using the Internet and living our lives, that would be <strong>impossible</strong> without version control.</p>

<p>I&rsquo;m using Git and Mercurial now, gaining proficiency with them, and I&rsquo;ve used a bit of Subversion, a non-distributed version control system.
Part of my mission for 2010 is to assemble a toolbelt.
Right now, it&rsquo;s looking like it&rsquo;ll be emacs, Mercurial, FogBugz, Firefox/Firebug, SysInternals' ProcMon/ProcExp/Autoruns, Stack Overflow (and its siblings), bash and a little PowerShell, Ethereal/Wireshark, and by the way, yes, the toolbelt gets crowded.
That&rsquo;s part of why learning to use it well is so important: all of those tools <em>matter</em> to your productivity as a programmer.
I should note that the sysadmin side of my brain is going to end up using a lot of those tools, too.</p>
]]></content>
  </entry>
  
</feed>
