{"id":25355,"date":"2018-02-09T12:55:11","date_gmt":"2018-02-09T10:55:11","guid":{"rendered":"http:\/\/arcadsoftware.com\/?p=25355"},"modified":"2024-03-28T15:27:44","modified_gmt":"2024-03-28T13:27:44","slug":"what-is-source-code-management","status":"publish","type":"post","link":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/","title":{"rendered":"What is Source Code Management?"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-bottom:45px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 0px );margin-left: calc(-0px \/ 2 );margin-right: calc(-0px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:66.666666666667%;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><h3 style=\"text-align: center; margin-top: 0px; margin-bottom: 20px; font-size: 15px;\">by <a href=\".\/#about-the-author\">Ray Bernardi<\/a>&nbsp;<\/h3>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:0%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:0%;--awb-width-medium:100%;--awb-spacing-right-medium:0%;--awb-spacing-left-medium:0%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p>I\u2019m old. Let\u2019s get that established right up front. I have been around longer than sand, or at least that\u2019s how it feels sometimes. You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management? My reply? Well, that depends.<\/p>\n<p><!--more--><\/p>\n<p>I could throw out the technical definition. It\u2019s typically software that\u2019s designed for source code management (SCM) or it\u2019s a version control system (VCS) or a revision control system (RCS) and leave it at that. That doesn\u2019t tell you much.<\/p>\n<p>Remember, I established the fact that I am old. I come from System\/34, System\/38 and even mainframes before that. I grew up on these IBM midrange machines and I have been here for the old and new methodologies.<\/p>\n<p>In the beginning, the earth cooled and the dinosaurs came. At that time, source control was simple. If you were going to change it, make a copy of it before you do. That was about it. What else did you need?<\/p>\n<p>Of course that led to a few issues. Code regression being the big one. I followed the rules. I made a backup copy. I made all my changes. I put my code into production following the check list, and a day later, someone changing the same program did the same thing. The only problem was, they wiped my changes. They started with the same code as me. The code in production. We never saw the conflict until it was too late.<\/p>\n<p>So we adapt. Making a copy isn\u2019t enough. We need to have a common area so people can tell that someone is working on a program so we don\u2019t regress. Well, that\u2019s a little better. At least there\u2019s some exposure to what\u2019s going on, but it\u2019s still not great. Think emergency change. Now what? Go around this? How do you notify and avoid regression then?<\/p>\n<p>OK, remember we are evolving here. Let\u2019s add a little more control, lets add a process we will call checkout. That will solve everything. We can even automate this process a little. Take a menu option, the system will write a record in a file saying you checked something out, and it can copy the source to a development area for you. Neat.<\/p>\n<p>Now, because we have a file tracking checkouts, we can add conflict resolution. We can be sure an emergency change doesn\u2019t create a regression in our code. We still need to jump through a lot of hoops to do this, like a second checkout, two working versions of source, a signoff on the conflict, a merge of code to avoid the regression and so on. It\u2019s a bit of work but at least we are not losing code anymore.<\/p>\n<p>If you\u2019re old like me, you recognize the discussion above. It\u2019s really IBM i-centric. It\u2019s what we now call the pessimistic checkout model.\u00a0 Pessimistic because it locks source, and makes concurrent development difficult. Possible yes, but still, difficult.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:25px;--awb-padding-left:40px;--awb-bg-color:rgba(232,232,232,0.38);--awb-bg-color-hover:rgba(232,232,232,0.38);--awb-bg-size:cover;--awb-border-color:#ea5050;--awb-border-left:7px;--awb-border-style:solid;--awb-width-large:66.666666666667%;--awb-margin-top-large:30px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:30px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3 fusion-text-no-margin\" style=\"--awb-margin-bottom:5px;\"><p><strong>Considering Git &amp; Open Source tools in a traditional IBM i environment? This paper describes the benefits of combining traditional and modern software development methods.<\/strong><\/p>\n<\/div><div style=\"text-align:right;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-1 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:#ea5050;--button_border_color:#ea5050;--button_accent_hover_color:#437cb4;--button_border_hover_color:#437cb4;--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"\/arcad\/resource-items\/white-paper-multi-platform-open-source-development-tools-in-a-traditional-ibm-i-environment\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Download our White Paper <\/span><i class=\"fa-arrow-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:20px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:0%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:0%;--awb-width-medium:100%;--awb-spacing-right-medium:0%;--awb-spacing-left-medium:0%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4\"><p>Imagine working on your application. You might have a project that\u2019s developing the next release, one for ongoing day to day maintenance, one for a minor enhancement, a few bug fixes happening, and one for a new feature being added to the existing version.<\/p>\n<p>That\u2019s ok as long as the programs you are changing don\u2019t overlap much. Wait, we said new release work is being done. Unless you are renaming everything you work on, I think there might be a lot of overlap in that project.<\/p>\n<p>In the scenario above, pessimistic checkout can work, but in the end, you\u2019ll feel like a trained poodle after all the hoops you\u2019ll need to jump through. If you enjoy being a trained poodle, you can stop reading here, if you\u2019d like to hear about a better way? Read on.<\/p>\n<p>I\u2019m old. We established that already. I\u2019m old but I can learn new tricks. The pessimistic checkout model above made you laugh if you are an open systems developer. You can\u2019t even imagine how that process could work. It\u2019s clunky at best and you can see how it would severely limit concurrent development.<\/p>\n<p>For years we have been talking about becoming agile in the IBM i world. The term DevOps was coined. <b>Marry development and operations using automation, that\u2019s DevOps. It\u2019s really about becoming agile. <\/b>Most shops are looking at automation and are on the DevOps road. Modernize how you handle source as well. Adopt a new way, a new culture, unify your teams. It\u2019s really possible.<\/p>\n<p>ARCAD does pessimistic checkouts. It\u2019s from the IBM i world. It\u2019s old too, been around for 25+ years, but like me, it can learn new tricks. Old doesn\u2019t mean stagnant. ARCAD is mature cutting edge technology that allows you to choose your source control system. Want to become truly agile? <a href=\"\/arcad\/news-events\/blog\/git-started-with-github-and-arcad-on-ibm-i-part-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Put your IBM i code in a GIT repository<\/a>. Start using a copy\/modify\/merge process instead of the pessimistic model described above. Did you know that\u2019s possible?<\/p>\n<p>It\u2019s pretty easy to get your code in GIT. I have done a <a href=\"\/arcad\/news-events\/blog\/git-started-with-github-and-arcad-on-ibm-i-part-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">prior blog on that<\/a> so I won\u2019t cover it here again, but once your code is there, wow.<\/p>\n<p>You create branches when you work. There is no checkout. You can have as many branches as you\u2019d like. A branch for the new release, a branch for the new feature, a branch for a hotfix and so on. All the branching is done locally on the developers PC so it\u2019s fast and easy. When you\u2019re done developing, you push the branch up to a remote repository server. There, the change can be reviewed and accepted, and merged into the origin or main branch. During that merge, automatic conflict resolution is performed. If there is a conflict it is displayed and it can be dealt with easily. No regression of code happens.<\/p>\n<p>Here is a typical workflow when using GIT for source control:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-25359\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/workflow-using-git-for-source-control.png\" alt=\"Workflow using GIT for source control\" width=\"603\" height=\"728\" srcset=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/workflow-using-git-for-source-control-248x300.png 248w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/workflow-using-git-for-source-control.png 603w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/p>\n<p>Down the middle is the remote server with the central repository. We have two developers in this example, Jessica and John. John starts by cloning the repository to his PC. He gets a full repository. That means he has everything he needs to develop and branch independently from the remote server. That means the operations are fast and you can work offline.<\/p>\n<p>John starts his changes to PGM001 and does a local commit. Basically, he is saying I like that change, make it part of my local branch. Then Jessica clones the repository. She does not have Johns work yet. He has not pushed yet.<\/p>\n<p>Jessica is a faster worker than John. She changes PGM001 does a local commit, likes what she sees and she does a push back to the remote repository. Her change is reviewed accepted and merged with the origin. That change is done.<\/p>\n<p>John, being the good developer he is, is ready to push, but before he does, he performs a fetch. He is seeing if there are any changes since he started development. During that fetch he gets a conflict on PGM001. He merges Jessica\u2019s change into his code and resolves any conflict. There will only be a conflict if they both changed the same lines of code.<\/p>\n<p>John now pushes his change back to the remote server. He has included Jessica\u2019s change. There is no regression. There was no hoop to jump through. Concurrent development happened on an IBM i source and nothing was lost. There were no bottlenecks in this scenario. That\u2019s agile.<\/p>\n<p>This methodology isn\u2019t new to open systems developers. They have always worked this way. Us dinosaurs in the IBM i world are catching up. Take a look at this example:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-25362\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/source-code-management-scenario.png\" alt=\"Source Code Management Scenario\" width=\"817\" height=\"577\" srcset=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/source-code-management-scenario-300x212.png 300w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/source-code-management-scenario.png 817w\" sizes=\"(max-width: 817px) 100vw, 817px\" \/><\/p>\n<p>In this example we have hotfixes, releases, features and development branches shown. This is more typical of a real world working shop. Yes, this source management solution scales up to match this level of complexity and it does it well. Each dot is a commit, each arrow is a fetch or a push. This is true flexibility in source management. You are not limited by a pessimistic checkout and development can flow easily.<\/p>\n<p>So to get back on topic here, the question was, \u201cWhat is source code management?\u201d<\/p>\n<p>My answer is, it depends. It depends on where you want to be and what your shop looks like. Are you modernizing?<b> Then source code management will probably look like the GIT model talked about above.<\/b> Do you do little development but need controls in place for auditing purposes? Then perhaps the pessimistic checkout model will work for you.<\/p>\n<p>There\u2019s a time and a place for both these models. You really need to decide what source code management means to you. You need to figure out where you are now, and where you want your shop to be in 5 years.<\/p>\n<p>More and more I see people leaving the pessimistic model and moving toward modern source control. I feel fortunate that ARCAD is an open system, and allows me to use and learn these new methods and technologies. I like not being stuck in the past.<\/p>\n<p>So, I may be a dinosaur in that I have been around a long time, but I sure don\u2019t feel like one when I work on my IBM i. <b>Using RDi, GIT, Jenkins, GitHub, and other modern tools keeps me feeling pretty young.<\/b><\/p>\n<p>So to finally answer the question, what is source control\u2026. It\u2019s what you want it to be. You need to adopt the method that works for you and your team. You need to make that call. We can show you both ways to help you out.<\/p>\n<p>Want to see Git used as source control on an IBM i? <a href=\"\/about\/contact\">Book a demo today<\/a> and we will setup a time to show you just that. You really will be amazed at how easy and flexible modern source control can be.<\/p>\n<p>Or should I just say.. check it out??<\/p>\n<\/div><\/div><\/div><\/div><\/div><div id=\"about-the-author\" class=\"fusion-container-anchor\"><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-sizes-top:0px;--awb-border-sizes-bottom:0px;--awb-border-sizes-left:0px;--awb-border-sizes-right:0px;--awb-border-color:#d2d3d4;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-bottom:15px;--awb-margin-top:45px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_6 1_6 fusion-flex-column fusion-flex-align-self-flex-start\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\"><p><img decoding=\"async\" class=\"alignnone size-full wp-image-23372 aligncenter\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/10\/ray-contours-fins.jpg\" alt=\"\" width=\"147\" height=\"147\" srcset=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/10\/ray-contours-fins-66x66.jpg 66w, https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/10\/ray-contours-fins.jpg 147w\" sizes=\"(max-width: 147px) 100vw, 147px\" \/><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_3_5 3_5 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:60%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.3333333333333%;--awb-width-medium:80%;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:4%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\"><h3 style=\"margin-bottom: 0px; margin-top: 0px;\"><span lang=\"EN-US\">About the author\u00a0<\/span><\/h3>\n<h4 style=\"margin-top: 0px; margin-bottom: 5px;\">Ray Bernardi, Senior Consultant, ARCAD Software<\/h4>\n<p>Ray is a 30-year IT veteran and currently a Pre\/Post Sales technical Support Specialist for ARCAD Software, international ISV and IBM Business Partner.\u00a0 He has been involved with the development and sales of many cutting edge software products throughout his career, with specialist knowledge in Application Lifecycle Management (ALM) products from ARCAD Software covering a broad range of functional areas including enterprise IBM i modernization and DevOps.\u00a0 In addition, Ray is a frequent speaker at COMMON and many other technical conferences around the world and has authored articles in several publications on the subject of application analysis and modernization, SQL, and business intelligence.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management? My reply? Well, that depends.<\/p>\n","protected":false},"author":3,"featured_media":25366,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[219],"tags":[563,371,365,367],"class_list":["post-25355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-blog-article","tag-ibm-i-devops","tag-git","tag-source-code-management"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is Source Code Management? - ARCAD<\/title>\n<meta name=\"description\" content=\"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?\" \/>\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.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Source Code Management? - ARCAD\" \/>\n<meta property=\"og:description\" content=\"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/\" \/>\n<meta property=\"og:site_name\" content=\"ARCAD\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-09T10:55:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-28T13:27:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png\" \/>\n\t<meta property=\"og:image:width\" content=\"811\" \/>\n\t<meta property=\"og:image:height\" content=\"231\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"administrator\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"administrator\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/\"},\"author\":{\"name\":\"administrator\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/ac3c33678907c9c414148df7a202dfbf\"},\"headline\":\"What is Source Code Management?\",\"datePublished\":\"2018-02-09T10:55:11+00:00\",\"dateModified\":\"2024-03-28T13:27:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/\"},\"wordCount\":2808,\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/what-is-source-code-management.png\",\"keywords\":[\"Blog Article\",\"DevOps for IBM i\",\"Git\",\"Source Code Management\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/\",\"name\":\"What is Source Code Management? - ARCAD\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/what-is-source-code-management.png\",\"datePublished\":\"2018-02-09T10:55:11+00:00\",\"dateModified\":\"2024-03-28T13:27:44+00:00\",\"description\":\"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/what-is-source-code-management.png\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2018\\\/02\\\/what-is-source-code-management.png\",\"width\":811,\"height\":231,\"caption\":\"Source Code Management process\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/news-events\\\/blog\\\/what-is-source-code-management\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ARCAD\",\"item\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Source Code Management?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"name\":\"ARCAD\",\"description\":\"Experts DevOps &amp; Modernisation sur IBM i (alias AS\\\/400 ou AS400)\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\",\"name\":\"ARCAD Software\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"width\":144,\"height\":200,\"caption\":\"ARCAD Software\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pages\\\/Arcad-Software\\\/116086138469235\",\"https:\\\/\\\/x.com\\\/arcad_software\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/arcad-software\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/ARCADSoftwareInc\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/ac3c33678907c9c414148df7a202dfbf\",\"name\":\"administrator\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/author\\\/administrator\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is Source Code Management? - ARCAD","description":"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?","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.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/","og_locale":"en_US","og_type":"article","og_title":"What is Source Code Management? - ARCAD","og_description":"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?","og_url":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/","og_site_name":"ARCAD","article_publisher":"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","article_published_time":"2018-02-09T10:55:11+00:00","article_modified_time":"2024-03-28T13:27:44+00:00","og_image":[{"width":811,"height":231,"url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png","type":"image\/png"}],"author":"administrator","twitter_misc":{"Written by":"administrator","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#article","isPartOf":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/"},"author":{"name":"administrator","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/ac3c33678907c9c414148df7a202dfbf"},"headline":"What is Source Code Management?","datePublished":"2018-02-09T10:55:11+00:00","dateModified":"2024-03-28T13:27:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/"},"wordCount":2808,"publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png","keywords":["Blog Article","DevOps for IBM i","Git","Source Code Management"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/","url":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/","name":"What is Source Code Management? - ARCAD","isPartOf":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#primaryimage"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png","datePublished":"2018-02-09T10:55:11+00:00","dateModified":"2024-03-28T13:27:44+00:00","description":"You would think someone who has been in the industry for as long as I have would have a simple answer to a simple question. What is source code management?","breadcrumb":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#primaryimage","url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png","contentUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2018\/02\/what-is-source-code-management.png","width":811,"height":231,"caption":"Source Code Management process"},{"@type":"BreadcrumbList","@id":"https:\/\/www.arcadsoftware.com\/arcad\/news-events\/blog\/what-is-source-code-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ARCAD","item":"https:\/\/www.arcadsoftware.com\/arcad\/"},{"@type":"ListItem","position":2,"name":"What is Source Code Management?"}]},{"@type":"WebSite","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website","url":"https:\/\/www.arcadsoftware.com\/arcad\/","name":"ARCAD","description":"Experts DevOps &amp; Modernisation sur IBM i (alias AS\/400 ou AS400)","publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.arcadsoftware.com\/arcad\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization","name":"ARCAD Software","url":"https:\/\/www.arcadsoftware.com\/arcad\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/","url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","contentUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","width":144,"height":200,"caption":"ARCAD Software"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","https:\/\/x.com\/arcad_software","https:\/\/www.linkedin.com\/company\/arcad-software","https:\/\/www.youtube.com\/user\/ARCADSoftwareInc"]},{"@type":"Person","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/ac3c33678907c9c414148df7a202dfbf","name":"administrator","url":"https:\/\/www.arcadsoftware.com\/arcad\/author\/administrator\/"}]}},"_links":{"self":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/25355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/comments?post=25355"}],"version-history":[{"count":4,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/25355\/revisions"}],"predecessor-version":[{"id":65442,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/posts\/25355\/revisions\/65442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/media\/25366"}],"wp:attachment":[{"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/media?parent=25355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/categories?post=25355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arcadsoftware.com\/arcad\/wp-json\/wp\/v2\/tags?post=25355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}