{"id":22008,"date":"2009-10-07T14:25:00","date_gmt":"2009-10-07T19:25:00","guid":{"rendered":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/"},"modified":"2009-10-07T14:25:00","modified_gmt":"2009-10-07T19:25:00","slug":"dont-break-build-developers-guide-care-free-commits","status":"publish","type":"post","link":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/","title":{"rendered":"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits"},"content":{"rendered":"<figure>\n<div class=\"feature-image\"><img decoding=\"async\" class=\"aligncenter size-full\" src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg\" alt=\"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits\"><\/div>\n<\/figure>\n<div class=\"body\">\n<div>\n<table border=\"0\" cellpadding=\"2\" bgcolor=\"#f0f4f8\">\n<tbody>\n<tr>\n<td valign=\"top\"><strong>Summary:<\/strong><\/td>\n<td style=\"text-align: left\" valign=\"top\">Learn how to submit the right files for a given fix every time, even when working on multiple bugs concurrently, avoiding the sin of breaking the build.<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"90\"><strong>Applies to:<\/strong><\/td>\n<td style=\"text-align: left\" valign=\"top\">Tasktop<span>&#xA0;Dev<\/span> Pro, Eclipse Mylyn<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><strong>Supported Connectors:<\/strong><\/td>\n<td style=\"text-align: left\" valign=\"top\">ClearQuest, ScrumWorks, JIRA, Rally, CollabNet, Bugzilla<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\"><strong>Supported SCMs:<\/strong><\/td>\n<td style=\"text-align: left\" valign=\"top\">CVS, Subversion (SVN), ClearCase (coming soon)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img class=\"lazyload\" alt=\"Developers who break the build must wear the hat of shame.\" height=\"375\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg\"> <span>(Photo courtesy of <a href=\"http:\/\/www.flickr.com\/photos\/bees\/530223438\/\">seeb&#x2019;s Photo Stream<\/a>)<\/span> In most development circles breaking the build is a serious offense, with good reason. As other programmers check out the broken source code their progress becomes blocked, as they can no longer compile (and thus test) the software. The cost of blocking an entire development team is so large that many shops have resorted to shame tactics, forcing offenders to wear embarrassing hats or shirts. Fortunately, Tasktop<span>&#xA0;Dev<\/span> can significantly reduce your chances of obtaining a new headpiece by automatically tracking changes related to each task.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#Common_Problem_Committing_Too_Much_or_Too_Little\" >Common Problem: Committing Too Much, or Too Little<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#Solution_Automatic_Change_Set_Management\" >Solution: Automatic Change Set Management<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Common_Problem_Committing_Too_Much_or_Too_Little\"><\/span>Common Problem: Committing Too Much, or Too Little<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One of the major causes of build breakage is committing the wrong set of files for a given fix. These types of problems reduce to 1) committing files that are unrelated to the fix and 2) omitting files that are relevant to the fix. Either case can easily cause a broken build as a committed file can reference a new method or field in an uncommitted file. While it might sound easy to track the changed files for a particular task, developers that try to do this manually face several challenges:<\/p>\n<ol>\n<li><strong>Tracking individual tasks can exceed working memory<\/strong> &#x2013; For some tasks developers must change more than a few files. For any task that requires changes to more than seven files the developer must remember a list of files that exceeds many people&#x92;s working memory capacity.<\/li>\n<li><strong>Multi-tasking requires multi-tracking<\/strong> &#x2013; Developers work on more than one task in parallel, and thus must track files for each task. If a developer is working on five tasks in parallel, changing as few as three files per task requires remembering 15 files, in addition to the file to task mapping.<\/li>\n<li><strong>Tracking changes can span days, or even weeks<\/strong> &#x2013; A particular development task can often become blocked after the developer has already changed several files. As the developer waits days or even weeks for the task to become unblocked his memory of the changed files will likely start to decay.<\/li>\n<\/ol>\n<p>Tasktop<span>&#xA0;Dev<\/span> can help you avoid these problems. It can automatically track the files you change for a given task, freeing up your working memory. Tasktop Dev eliminates the multi-tasking problem as well, tracking changes for each task separately. Finally, it avoids the memory decay problem.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Solution_Automatic_Change_Set_Management\"><\/span>Solution: Automatic Change Set Management<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In order to use Tasktop Dev to automatically manage your change sets you only need to activate tasks as you work on them. To activate a task you can click on the icon next to the task in the Task List. <img class=\"lazyload\" alt=\"Task List with active task\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/activate1.png\"> In this example Bug #59, &#x93;Cannot read emails from Thunderbird&#x94; has been activated, as indicated by the icon and the bold summary in the Task List. Once you&#x92;ve activated a task continue to edit, compile, debug as you normally would. The only changes to your existing workflow are when you finish a task. Once you finish a task open the Synchronize View and toggle the model mode, as shown below: <img class=\"lazyload\" alt=\"Change Sets with Toggle Model Highlighted\" height=\"223\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/changesetstext.png\"> Once the model is changed to show change sets you&#x92;ll notice that all of your outgoing changes have been arranged by task (i.e., a change set has been created for each task). Similarly, all incoming changes are organized by task. Below the same set of changes is presented in the Java Model Mode (background) and in Change Set Mode (foreground). Many people consider it much easier to interpret the changes in Change Set Mode because all of the changed projects and files for a given task are grouped together in that change set. In the Java Model Mode the changes are listed per project, and thus any changes involving more than one project are scattered throughout this list. Additionally, any project that contains changes for several tasks groups the changes together into one change set. <img class=\"lazyload\" alt=\"Change Sets in two different modes\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/changesetcomparisonwitharrow.jpg\"> To commit your changes, select the current task, which is bold, and use the context menu to commit the changes. Tasktop Dev automatically fills in your commit comment so that others know which task your changes correspond to, and can navigate from the committed code to the corresponding task. <img class=\"lazyload\" alt=\"A commit comment automatically filled in by Tasktop.\" height=\"484\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/commit.png\"> In the above commit dialog the commit is for the task 5256 and the automatically generated comment includes the task status, task type, task ID, task summary, and, on the next line, the task URL. The format of the automatically generated comment is configurable, and you can change it to match the format that your team prefers (Window -&gt; Preferences -&gt; Task -&gt; Team) by adding the completion date, the assignee, etc. or rearranging the order of the template. For this commit only one file is involved, the AbstractTaskAssociation.java file, which is shown below the commit comment. <img class=\"lazyload\" alt=\"It&apos;s not nice to break the build\" height=\"177\" data-src=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/notniceblue1.png\"> Allowing Tasktop Dev to manage your change-sets for you has several advantages. First and foremost, it ensures that you are committing the correct files for a given task. Although it is still possible to break the build* the chances of breaking the build are significantly reduced. Additionally, if you abandon a task prior to committing your changes for any reason, it is easy to revert the changes for that task by selecting &#x201C;Override and Update&#x201D; for that change set. Furthermore, all of your commits are automatically commented with a link to the relevant task, so others in the team can more easily interpret your changes. If all team members are using change sets to commit their code it can improve collaboration. For instance, a colleague can commit a fix and ask you to test it. Because the incoming changes are organized by change set you can select the fix of interest and just update that change, isolating the code of interest. Tasktop Dev&#x2019;s change set management can reduce your mental burden during programming, allowing you to focus on the important problems at hand by tracking the details for you. If you&#x92;d like to get started with automatic change set management, download <a href=\"\/\">Tasktop Dev<\/a>. * If you work on two tasks in parallel that involve changing the same file it is possible to break the build by committing one of the tasks without committing the other.<\/p>\n<p>&#xA0;<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summary: Learn how to submit the right files for a given fix every time, even when working on multiple bugs concurrently, avoiding the sin of breaking the build. Applies to: Tasktop&#xA0;Dev Pro, Eclipse Mylyn Supported Connectors: ClearQuest, ScrumWorks, JIRA, Rally, CollabNet, Bugzilla Supported SCMs: CVS, Subversion (SVN), ClearCase (coming soon) (Photo courtesy of seeb&#x2019;s Photo&#8230;<\/p>\n","protected":false},"author":233,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[9548],"tags":[],"class_list":["post-22008","post","type-post","status-publish","format-standard","hentry","category-engineering-teams"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Don&#039;t Break the Build: A Developer&#039;s Guide to Care-Free Commits | Tasktop Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits\" \/>\n<meta property=\"og:description\" content=\"Summary: Learn how to submit the right files for a given fix every time, even when working on multiple bugs concurrently, avoiding the sin of breaking the build. Applies to: Tasktop&#xA0;Dev Pro, Eclipse Mylyn Supported Connectors: ClearQuest, ScrumWorks, JIRA, Rally, CollabNet, Bugzilla Supported SCMs: CVS, Subversion (SVN), ClearCase (coming soon) (Photo courtesy of seeb&#x2019;s Photo...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/\" \/>\n<meta property=\"og:site_name\" content=\"Planview Blog\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/pages\/Planview-Inc\/89422974772\" \/>\n<meta property=\"article:published_time\" content=\"2009-10-07T19:25:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg\" \/>\n<meta name=\"author\" content=\"Tasktop Blogger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Planview\" \/>\n<meta name=\"twitter:site\" content=\"@Planview\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tasktop Blogger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/\"},\"author\":{\"name\":\"Tasktop Blogger\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#\\\/schema\\\/person\\\/35676ea677995199889c0b6456156ce2\"},\"headline\":\"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits\",\"datePublished\":\"2009-10-07T19:25:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/\"},\"wordCount\":1099,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.planview.com\\\/tasktop_blog\\\/wp-content\\\/uploads\\\/moron.jpg\",\"articleSection\":[\"Engineering Teams\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/\",\"url\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/\",\"name\":\"Don't Break the Build: A Developer's Guide to Care-Free Commits | Tasktop Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.planview.com\\\/tasktop_blog\\\/wp-content\\\/uploads\\\/moron.jpg\",\"datePublished\":\"2009-10-07T19:25:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#primaryimage\",\"url\":\"https:\\\/\\\/media.planview.com\\\/tasktop_blog\\\/wp-content\\\/uploads\\\/moron.jpg\",\"contentUrl\":\"https:\\\/\\\/media.planview.com\\\/tasktop_blog\\\/wp-content\\\/uploads\\\/moron.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/dont-break-build-developers-guide-care-free-commits\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.planview.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#website\",\"url\":\"https:\\\/\\\/blog.planview.com\\\/\",\"name\":\"Planview Blog\",\"description\":\"Leading the conversation on digital connected work\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.planview.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#organization\",\"name\":\"Planview\",\"url\":\"https:\\\/\\\/blog.planview.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.planview.com\\\/wp-content\\\/uploads\\\/2015\\\/06\\\/planview-logo-black.png\",\"contentUrl\":\"https:\\\/\\\/blog.planview.com\\\/wp-content\\\/uploads\\\/2015\\\/06\\\/planview-logo-black.png\",\"width\":280,\"height\":66,\"caption\":\"Planview\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/www.facebook.com\\\/pages\\\/Planview-Inc\\\/89422974772\",\"https:\\\/\\\/x.com\\\/Planview\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.planview.com\\\/#\\\/schema\\\/person\\\/35676ea677995199889c0b6456156ce2\",\"name\":\"Tasktop Blogger\",\"url\":\"https:\\\/\\\/blog.planview.com\\\/author\\\/tasktop-blogger\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Don't Break the Build: A Developer's Guide to Care-Free Commits | Tasktop Blog","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:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/","og_locale":"en_US","og_type":"article","og_title":"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits","og_description":"Summary: Learn how to submit the right files for a given fix every time, even when working on multiple bugs concurrently, avoiding the sin of breaking the build. Applies to: Tasktop&#xA0;Dev Pro, Eclipse Mylyn Supported Connectors: ClearQuest, ScrumWorks, JIRA, Rally, CollabNet, Bugzilla Supported SCMs: CVS, Subversion (SVN), ClearCase (coming soon) (Photo courtesy of seeb&#x2019;s Photo...","og_url":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/","og_site_name":"Planview Blog","article_publisher":"http:\/\/www.facebook.com\/pages\/Planview-Inc\/89422974772","article_published_time":"2009-10-07T19:25:00+00:00","og_image":[{"url":"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg","type":"","width":"","height":""}],"author":"Tasktop Blogger","twitter_card":"summary_large_image","twitter_creator":"@Planview","twitter_site":"@Planview","twitter_misc":{"Written by":"Tasktop Blogger","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#article","isPartOf":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/"},"author":{"name":"Tasktop Blogger","@id":"https:\/\/blog.planview.com\/#\/schema\/person\/35676ea677995199889c0b6456156ce2"},"headline":"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits","datePublished":"2009-10-07T19:25:00+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/"},"wordCount":1099,"publisher":{"@id":"https:\/\/blog.planview.com\/#organization"},"image":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#primaryimage"},"thumbnailUrl":"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg","articleSection":["Engineering Teams"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/","url":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/","name":"Don't Break the Build: A Developer's Guide to Care-Free Commits | Tasktop Blog","isPartOf":{"@id":"https:\/\/blog.planview.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#primaryimage"},"image":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#primaryimage"},"thumbnailUrl":"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg","datePublished":"2009-10-07T19:25:00+00:00","breadcrumb":{"@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#primaryimage","url":"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg","contentUrl":"https:\/\/media.planview.com\/tasktop_blog\/wp-content\/uploads\/moron.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.planview.com\/dont-break-build-developers-guide-care-free-commits\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.planview.com\/"},{"@type":"ListItem","position":2,"name":"Don\u2019t Break the Build: A Developer\u2019s Guide to Care-Free Commits"}]},{"@type":"WebSite","@id":"https:\/\/blog.planview.com\/#website","url":"https:\/\/blog.planview.com\/","name":"Planview Blog","description":"Leading the conversation on digital connected work","publisher":{"@id":"https:\/\/blog.planview.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.planview.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blog.planview.com\/#organization","name":"Planview","url":"https:\/\/blog.planview.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.planview.com\/#\/schema\/logo\/image\/","url":"https:\/\/blog.planview.com\/wp-content\/uploads\/2015\/06\/planview-logo-black.png","contentUrl":"https:\/\/blog.planview.com\/wp-content\/uploads\/2015\/06\/planview-logo-black.png","width":280,"height":66,"caption":"Planview"},"image":{"@id":"https:\/\/blog.planview.com\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.facebook.com\/pages\/Planview-Inc\/89422974772","https:\/\/x.com\/Planview"]},{"@type":"Person","@id":"https:\/\/blog.planview.com\/#\/schema\/person\/35676ea677995199889c0b6456156ce2","name":"Tasktop Blogger","url":"https:\/\/blog.planview.com\/author\/tasktop-blogger\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/posts\/22008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/users\/233"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/comments?post=22008"}],"version-history":[{"count":0,"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/posts\/22008\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/media?parent=22008"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/categories?post=22008"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.planview.com\/wp-json\/wp\/v2\/tags?post=22008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}