{"id":14161,"date":"2014-10-14T14:35:08","date_gmt":"2014-10-14T21:35:08","guid":{"rendered":"https:\/\/www.backblaze.com\/blog\/?p=14161"},"modified":"2025-12-12T07:51:32","modified_gmt":"2025-12-12T15:51:32","slug":"how-do-you-do-source-code-control","status":"publish","type":"post","link":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/","title":{"rendered":"How Do You Do Source Code Control?"},"content":{"rendered":"<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-14171\" src=\"https:\/\/www.backblaze.com\/blog\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg\" alt=\"blog-source-control\" width=\"560\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg 720w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control-300x169.jpg 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control-560x315.jpg 560w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control-220x124.jpg 220w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/p>\n<p id=\"bzdropcap\">If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions of code as well as managing code from different projects. Over the years, source code and revision control systems have been developed to address this task. Some of the more common open-source systems in use are Subversion (SVN), GIT, and Mercurial. There are also a number of proprietary systems as well.<\/p>\n<p>Derek is a software engineer who uses Mercurial in his daily job. Mercurial is a <a title=\"DVCS\" href=\"http:\/\/en.wikipedia.org\/wiki\/Distributed_revision_control\" target=\"_blank\" rel=\"noopener noreferrer\">distributed version control system<\/a> (DVCS). Recently, Derek had to use GIT for some projects he was working on in coordination with a couple of other developers. GIT is also a DVCS. One morning Derek started his work day by launching Visual Studio and discovered a problem\u2014nothing loaded. A peek into his project directory confirmed that there was nothing to load, \u201cIt was gone, all gone.\u201d What was gone was about 200MB of files\u2014his source code, images, etc. for his current project. His code was missing in action.<\/p>\n<p>After a fair amount of angst and some RTM (read the manual) time, Derek was able to determine that his dilemma was caused by GIT or more correctly, how he had used GIT. Once he calmed down, Derek was able to use Backblaze to restore his missing files and get back to work. He also took a few minutes to document his experience on his blog.<\/p>\n<p>Derek likes to use Mercurial; GIT not so much. There are many developers that agree with Derek and just as many or more that will disagree. Opinions abound; \u201cMercurial is easier to use,\u201d \u201cGIT is faster and more powerful,\u201d \u201cMercurial is only for small projects,\u201d \u201cGIT is better at branching,\u201d &#8220;Mercurial is better at branching,&#8221;\u2014lots of opinions. Here are a few articles that compare the two systems. The articles are a year or two old, but still worth the read.<\/p>\n<ul>\n<li><a title=\"Why GIT\" href=\"http:\/\/blogs.atlassian.com\/2012\/03\/git-vs-mercurial-why-git\" target=\"_blank\" rel=\"noopener noreferrer\">Why GIT?<\/a><\/li>\n<li><a title=\"Why Mercurial\" href=\"http:\/\/blogs.atlassian.com\/2012\/02\/mercurial-vs-git-why-mercurial\" target=\"_blank\" rel=\"noopener noreferrer\">Why Mercurial?<\/a><\/li>\n<li><a title=\"GIT vs Mercurial\" href=\"https:\/\/www.scm-manager.com\/2013\/04\/git-vs-mercurial\" target=\"_blank\" rel=\"noopener noreferrer\">Comparing them.<\/a><\/li>\n<\/ul>\n<p>Lots of good information there, but what if choosing is moot because \u201cthe war is over?\u201d That is what David Soria Parra asserts in his post \u201cMercurial vs. Git vs. Bazaar: The aftermath,\u201d where he declares GIT the winner. Maybe you haven\u2019t gotten into the DVCS war because you continue to use Subversion or CVS or another similar centralized control system. Perhaps you fall into the \u201cit just doesn\u2019t matter\u201d camp because you are using a <a title=\"Joel talks about Kiln\" href=\"http:\/\/www.joelonsoftware.com\/items\/2013\/03\/11.html\" target=\"_blank\" rel=\"noopener noreferrer\">product like Kiln<\/a>, which provides a common repository for GIT or Mercurial so that no matter which one of these DVCS systems your team is using on a project, they can share their code. Of course, Kiln and similar systems are not free, but perhaps such a system would have helped out our friend Derek\u2014in the meantime, Backblaze to the rescue.<\/p>\n<p>What do you use, GIT, Mercurial, something else, or all of the above? More important, what do you think is next in source code and revision control? Let us know.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions of code as well as managing code from different projects. Over the years, source code and revision control systems have been developed to address this task. Some of the more common&hellip; <a class=\"more-link\" href=\"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/\">Continue reading <span class=\"screen-reader-text\">How Do You Do Source Code Control?<\/span><\/a><\/p>\n","protected":false},"author":12,"featured_media":14171,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","jetpack_post_was_ever_published":false},"categories":[131],"tags":[373,470],"class_list":["post-14161","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backblaze-bits","tag-developer","tag-newsletter","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Source Code Control: Best Practices for Managing Your Code<\/title>\n<meta name=\"description\" content=\"If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Source Code Control: Best Practices for Managing Your Code\" \/>\n<meta property=\"og:description\" content=\"If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/\" \/>\n<meta property=\"og:site_name\" content=\"Backblaze Blog | Cloud Storage &amp; Cloud Backup\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/backblaze\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-14T21:35:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-12T15:51:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"405\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andy Klein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@backblaze\" \/>\n<meta name=\"twitter:site\" content=\"@backblaze\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy Klein\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Source Code Control: Best Practices for Managing Your Code","description":"If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/","og_locale":"en_US","og_type":"article","og_title":"Source Code Control: Best Practices for Managing Your Code","og_description":"If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions","og_url":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/","og_site_name":"Backblaze Blog | Cloud Storage &amp; Cloud Backup","article_publisher":"https:\/\/www.facebook.com\/backblaze","article_published_time":"2014-10-14T21:35:08+00:00","article_modified_time":"2025-12-12T15:51:32+00:00","og_image":[{"width":720,"height":405,"url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","type":"image\/jpeg"}],"author":"Andy Klein","twitter_card":"summary_large_image","twitter_creator":"@backblaze","twitter_site":"@backblaze","twitter_misc":{"Written by":"Andy Klein","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#article","isPartOf":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/"},"author":{"name":"Andy Klein","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/9ac7e0bf0bd16852f8bfef352ce5fa8c"},"headline":"How Do You Do Source Code Control?","datePublished":"2014-10-14T21:35:08+00:00","dateModified":"2025-12-12T15:51:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/"},"wordCount":510,"commentCount":2,"publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","keywords":["Developer","Newsletter"],"articleSection":["Backblaze Bits"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/","url":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/","name":"Source Code Control: Best Practices for Managing Your Code","isPartOf":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#primaryimage"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","datePublished":"2014-10-14T21:35:08+00:00","dateModified":"2025-12-12T15:51:32+00:00","description":"If you\u2019ve ever written code for a living, you are familiar with source code control. Even single-person shops can struggle with managing multiple versions","breadcrumb":{"@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#primaryimage","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","width":720,"height":405},{"@type":"BreadcrumbList","@id":"https:\/\/www.backblaze.com\/blog\/how-do-you-do-source-code-control\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How Do You Do Source Code Control?"}]},{"@type":"WebSite","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","name":"Backblaze Cloud Solutions Blog","description":"Cloud Storage &amp; Cloud Backup","publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization","name":"Backblaze","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Backblaze"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/backblaze","https:\/\/x.com\/backblaze","https:\/\/www.youtube.com\/user\/Backblaze","https:\/\/en.wikipedia.org\/wiki\/Backblaze"]},{"@type":"Person","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/9ac7e0bf0bd16852f8bfef352ce5fa8c","name":"Andy Klein","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2019\/04\/andy.jpg","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2019\/04\/andy.jpg","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2019\/04\/andy.jpg","caption":"Andy Klein"},"description":"Andy Klein is the former Principal Cloud Storage Storyteller at Backblaze. He has over 25 years of experience in technology marketing and during that time, he has shared his expertise in cloud storage and computer security at events, symposiums, and panels at RSA, SNIA SDC, MIT, the Federal Trade Commission, and hundreds more. He currently writes and rants about drive stats, Storage Pods, cloud storage, and more.","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/author\/andy\/"}]}},"jetpack_featured_media_url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2014\/10\/blog-source-control.jpg","_links":{"self":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/14161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/comments?post=14161"}],"version-history":[{"count":0,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/14161\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media\/14171"}],"wp:attachment":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media?parent=14161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/categories?post=14161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/tags?post=14161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}