2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Found and fixed bug in get_views_for_stream Fixed bug in create_dev_snapview.pl::ParseBaselines...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>get_views_for_stream/create_dev_snapview.pl - 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/2005/12/get-views-for-s.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/2005/12/cvsism.html" title="cvsims">
20 <link rel="next" href="http://defaria.com/blogs/Status/2005/12/cq-webrebasegna.html" title="CQ Web/Rebase/GNATS Access">
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="get_views_for_stream/create_dev_snapview.pl">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2005/12/get-views-for-s.html">
26 <meta property="og:description" content=" Found and fixed bug in get_views_for_stream Fixed bug in create_dev_snapview.pl::ParseBaselines...">
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=" Found and fixed bug in get_views_for_stream Fixed bug in create_dev_snapview.pl::ParseBaselines...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2005/12/get-views-for-s.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">get_views_for_stream/create_dev_snapview.pl</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1760" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">get_views_for_stream/create_dev_snapview.pl</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2005-12-14T13:48:32-08:00" itemprop="datePublished">December 14, 2005</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/broadcom/">Broadcom</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Found and fixed bug in get_views_for_stream</li>
87 <li>Fixed bug in create_dev_snapview.pl::ParseBaselines
89 <h2>get_views_for_stream</h2>
91 <p>Hi Naga. I'm writing you this because I believe there's a bug, possibly with Clearcase, but that seems to manifest itself in code I believe you wrote. I came across this implementing enhancements to create_dev_snapview.pl for Andrew Feltham. In essence Andrew wants to be able to have multiple views in a stream. I've implemented a -reuse_stream parm to allow this. If -reuse_stream is used then the code will skip recreating the stream and effectively just make another view in that same stream. If -reuse_stream is not specified then the stream is removed - along with any views that that stream has.</p>
93 <p>It appears as if the code was coded to attempt to handle the case where a stream has multiple views however it fails due to a possible but with lsstream. When calling create_stream the code checks to see if the stream exists and if it does it attempts to recreate the stream by determining the view(s) in the stream, deleting them, deleting the stream and creating the stream anew.</p>
95 <p>To determine the view(s) in the stream get_views_for_stream is called. Here's the original function:</p>
97 <div class="code"><pre>
98 sub get_views_for_stream {
100 my $sel_stream = $_[1];
102 my @views = split(/\n/, `cleartool lsstream -fmt \"\%\[views\]p\\n\" stream:$sel_stream\@\\$sel_pvob`);
107 <p>Essentially it does an lsstream asking for only the views, separated by newlines. The problem is that lsstream (with that format) does not return the views separated by newlines:</p>
109 <div class="code"><pre>
110 P:\>cleartool lsstream -fmt "%[views]p\n" stream:Build_rmnaNT_adefaria_LTSJCA-ADEFARIA_sv_ldx_2.3@\rmna_projects
111 adefaria_test adefaria_test2 adefaria_test3
116 <p>As you can see adefaria_test, adefaria_test2 and adefaria_test3 all appear on the same line. The code then splits the line on \n and effectively always returns a 1 entry array with possibly multiple view names in the first entry separated by spaces. Needless to say this will fail later on when remove_view is called and it generates a "cleartool rmview -force <view names>".</p>
118 <p>Here's my proposed fix:</p>
120 <div class="code"><pre>
121 sub get_views_for_stream {
122 my $sel_pvob = $_[0];
123 my $sel_stream = $_[1];
124 # Modified Wed Dec 14 11:25:09 PST 2005 Andrew@DeFaria.com
126 # Note: The format -fmt "%[views]p\n" below does not work! What is
127 # expected to be returned is:
133 # However what is actually returned is:
137 # Therefore the old spilt of /\n/ always returned a single entry
138 # array with possibly multiple view names in the first
139 # entry. Changed to use / / for split and not append a \n.
140 my @views = split(/ /, `cleartool lsstream -fmt \"\%\[views\]p\" stream:$sel_stream\@\\$sel_pvob`);
145 <p>Is this acceptable to you?</p>
147 <nav class="page-navigation entry-navigation pagination content-nav">
148 <ul class="page-navigation-list">
150 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/12/cvsism.html" title="cvsims">Previous entry</a></li>
153 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/12/cq-webrebasegna.html" title="CQ Web/Rebase/GNATS Access">Next entry</a></li>
158 <aside id="zenback" class="zenback feedback">
159 Please paste Zenback script code here.
166 <aside class="widgets related" role="complementary">
167 <nav class="widget-search widget">
168 <div class="widget-content">
169 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
171 <input type="text" name="search" value="" placeholder="Search...">
173 <input type="hidden" name="IncludeBlogs" value="8">
175 <input type="hidden" name="limit" value="20">
176 <button type="submit" name="button">
177 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
183 <nav class="widget-archive-category widget">
184 <h3 class="widget-header">Categories</h3>
185 <div class="widget-content">
188 <ul class="widget-list">
191 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
199 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
207 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
215 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
223 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
231 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
239 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
247 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
255 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
263 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
271 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
279 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
291 <nav class="widget-archive-dropdown widget">
292 <h3 class="widget-header">Archives</h3>
293 <div class="widget-content">
295 <option>Select a Month...</option>
297 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
301 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
305 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
309 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
313 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
317 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
321 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
325 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
329 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
333 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
337 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
341 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
345 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
349 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
353 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
357 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
361 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
365 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
369 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
373 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
377 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
381 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
385 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
389 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
393 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
397 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
401 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
405 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
409 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
413 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
417 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
421 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
425 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
429 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
433 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
437 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
441 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
445 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
449 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
453 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
457 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
461 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
465 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
469 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
473 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
477 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
481 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
485 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
489 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
493 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
497 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
501 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
505 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
509 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
513 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
517 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
521 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
525 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
529 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
533 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
537 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
541 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
545 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
549 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
553 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
557 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
561 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
565 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
569 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
573 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
577 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
581 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
589 <div class="widget-syndication widget section">
590 <div class="widget-content">
591 <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>
599 <footer id="footer" role="contentinfo">
600 <div id="footer-inner">
601 <div id="footer-content">
602 <nav role="navigation">
604 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
610 <p class="license">© Copyright 2016.</p>
611 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
617 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
618 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>