2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Documented problems with empty branches...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>Remove Empty Branch - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2006/07/remove-empty-br-1.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2006/06/salira-vob-corr.html" title="Salira Vob Corruption">
20 <link rel="next" href="http://defaria.com/blogs/Status/2006/07/new-build-serve.html" title="New Build Server">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="Remove Empty Branch">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2006/07/remove-empty-br-1.html">
26 <meta property="og:description" content=" Documented problems with empty branches...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Documented problems with empty branches...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2006/07/remove-empty-br-1.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">Remove Empty Branch</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1820" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">Remove Empty Branch</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2006-07-07T12:23:36-08:00" itemprop="datePublished">July 7, 2006</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Documented problems with empty branches</li>
87 <h2>Empty branches and the mess they create</h2>
89 <p>Did you know that we have been creating empty branches that then cause unnecessary and additional work for Clearcase when rebasing or delivering as well as unnecessarily clutter version trees? What is an empty branch you ask? Well when working on a stream (or a simply a branch in base Clearcase terms) if a user checks out a file a branch is created (e.g. defaria_osaka) and a copy of the current element is made the 0 version on the new branch, then that 0 version is checked out. It looks like this:</p>
91 <img alt="Empty Branch with Checkout" src="EmptyBranchCheckout.jpg" border="2">
93 <p>But if the user decided not to change anything and cancels the checkout (which can also happen if the user cancels a rebase or delivery) then Clearcase will cancel the checkout but the view will remain focused on the 0 version (e.g. defaria_osaka/0):</p>
95 <img alt="Empty Branch" src="EmptyBranch.jpg" border="2">
97 <p>This version is essentially useless as it is the same as the version it branched from (e.g. osaka_strm/1) however this 0 version can be labeled (i.e. have a baseline applied to it) and that starts making it seem more important than it really is.</p>
99 <p>But what's worse is that if development continues on osaka_strm, producing osaka_strm/2 or 3, etc., then rebase then needs to merge this new osaka_strm version to defaria_osaka thus producing defaria_osaka/1. Essentially at this time osaka_strm/2 == defaria_osaka/1. Still a new
100 version is produced on defaria_osaka thus creating more meta data for Clearcase to retain, manage and display in things like the <i>Version Tree Browser</i>, etc. So, for example:</p>
102 <img alt="Unnecessary Versions" src="CreatingUnnecessaryVersions.jpg" border="2">
104 <p>Here is an example of an empty branch growing into a useless rebase. At osaka_strm/1 a checkout was done to defaria_osaka creating defaria_osaka/0 and a checkout. Later the checkout was canceled making defaria_osaka/0 - an empty branch. At this point osaka_strm/1 and defaria_osaka/0 are the same.</p>
106 <p>Then osaka_strm marched onward producing versions 2, 3 and 4. When rebasing Clearcase noticed the defaria_osaka/0 was old compared to the new osaka_strm/4 so it merged it producing defaria_osaka/1. Now defaria_osaka/1 is the same as osaka_strm/4. But there has been no development on my defaria_osaka view with respect to this element! Why then do I have or need anything on a defaria_osaka branch for this element? And why am I producing more versions for something I'm not touching? For a rebase that I'm doing I have hundreds of these...</p>
108 <p>This effect causes Clearcase to consider more elements when rebasing and delivering. Also version trees are needlessly more cluttered. Finally users can be confused when they rebase or deliver because they are seeing many elements and activities involved in the rebase or deliver that, as far as they are concerned, they had nothing to do with.</p>
110 <p>These empty branches and subsequently created versions are non-essential as none of them represent new work, carry along extra meta data, cause additional work for Clearcase and confuse users.</p>
112 <p>Normally I suggest and implement a <a href="/Resume/Clearcase/RemoveEmptyBranch.php"><i>remove empty branch</i></a> trigger.
113 This trigger is fired on the rmbranch and uncheckout events. It checks to see if the uncheckout would result in an empty branch and if so it removes the branch thus eliminating all the problems mentioned above.</p>
115 <nav class="page-navigation entry-navigation pagination content-nav">
116 <ul class="page-navigation-list">
118 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2006/06/salira-vob-corr.html" title="Salira Vob Corruption">Previous entry</a></li>
121 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2006/07/new-build-serve.html" title="New Build Server">Next entry</a></li>
126 <aside id="zenback" class="zenback feedback">
127 Please paste Zenback script code here.
134 <aside class="widgets related" role="complementary">
135 <nav class="widget-search widget">
136 <div class="widget-content">
137 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
139 <input type="text" name="search" value="" placeholder="Search...">
141 <input type="hidden" name="IncludeBlogs" value="8">
143 <input type="hidden" name="limit" value="20">
144 <button type="submit" name="button">
145 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
151 <nav class="widget-archive-category widget">
152 <h3 class="widget-header">Categories</h3>
153 <div class="widget-content">
156 <ul class="widget-list">
159 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
167 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
175 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
183 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
191 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
199 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
207 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
215 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
223 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
231 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
239 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
247 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
259 <nav class="widget-archive-dropdown widget">
260 <h3 class="widget-header">Archives</h3>
261 <div class="widget-content">
263 <option>Select a Month...</option>
265 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
269 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
273 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
277 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
281 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
285 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
289 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
293 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
297 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
301 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
305 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
309 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
313 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
317 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
321 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
325 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
329 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
333 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
337 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
341 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
345 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
349 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
353 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
357 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
361 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
365 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
369 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
373 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
377 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
381 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
385 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
389 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
393 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
397 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
401 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
405 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
409 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
413 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
417 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
421 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
425 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
429 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
433 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
437 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
441 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
445 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
449 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
453 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
457 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
461 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
465 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
469 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
473 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
477 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
481 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
485 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
489 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
493 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
497 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
501 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
505 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
509 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
513 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
517 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
521 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
525 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
529 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
533 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
537 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
541 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
545 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
549 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
557 <div class="widget-syndication widget section">
558 <div class="widget-content">
559 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
567 <footer id="footer" role="contentinfo">
568 <div id="footer-inner">
569 <div id="footer-content">
570 <nav role="navigation">
572 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
578 <p class="license">© Copyright 2016.</p>
579 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
585 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
586 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>