Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / 2005 / 01 / cvs-reportpl.html
1 <!DOCTYPE html>
2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
3   <head>
4     <meta charset="utf-8">
5     <meta name="description" content="I've updated cvs_report.pl to be more parameterized and flexible. One goal was to make it smart enough to produce a report showing the ECRs between two labels. This is helpful when one wants to get the ECRs that were picked...">
6     <meta name="generator" content="Movable Type 5.2.3">
7     <title>cvs_report.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/01/cvs-reportpl.html">
10     <meta name="viewport" content="width=device-width,initial-scale=1">
11     <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
12     <!--[if lt IE 9]>
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>
15     <![endif]-->
16     
17     <link rel="start" href="http://defaria.com/blogs/Status/">
18
19     <link rel="prev" href="http://defaria.com/blogs/Status/2005/01/built-012405.html" title="Built 012405">
20     <link rel="next" href="http://defaria.com/blogs/Status/2005/01/cvs-corruption.html" title="CVS corruption">
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="cvs_report.pl">
25     <meta property="og:url" content="http://defaria.com/blogs/Status/2005/01/cvs-reportpl.html">
26     <meta property="og:description" content="I've updated cvs_report.pl to be more parameterized and flexible. One goal was to make it smart enough to produce a report showing the ECRs between two labels. This is helpful when one wants to get the ECRs that were picked...">
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">
29     <!-- Metadata -->
30     <meta itemprop="description" content="I've updated cvs_report.pl to be more parameterized and flexible. One goal was to make it smart enough to produce a report showing the ECRs between two labels. This is helpful when one wants to get the ECRs that were picked...">
31     <link itemprop="url" href="http://defaria.com/blogs/Status/2005/01/cvs-reportpl.html">
32     <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
33     
34   </head>
35   <body>
36     <div id="container">
37       <div id="container-inner">
38         <header id="header" role="banner">
39           <div id="header-inner">
40             <div id="header-content">
41               <h1>
42                 <a href="http://defaria.com/blogs/Status/">
43
44                   Status
45
46                 </a>
47               </h1>
48               
49             </div>
50
51             <nav role="navigation">
52           <ul>
53             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
54
55
56           </ul>
57         </nav>
58
59           </div>
60         </header>
61         <div id="content">
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">cvs_report.pl</li>
66             </ul>
67             <div id="individual-main" class="main" role="main">
68               <article id="entry-1563" class="entry entry-asset asset hentry">
69                 <div class="asset-header">
70                   <h2 itemprop="name" class="asset-name entry-title">cvs_report.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-01-27T16:11:05-08:00" itemprop="datePublished">January 27, 2005</time></li>
74                       <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
75
76   
77                       <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks</a></li>
78   
79
80                    </ul>
81                 </footer>
82                 </div>
83                 <div class="entry-content asset-content" itemprop="articleBody">
84                   <p>I've updated cvs_report.pl to be more parameterized and flexible. One goal was to make it smart enough to produce a report showing the ECRs between two labels. This is helpful when one wants to get the ECRs that were picked up in this build.</p>
85                   <p>Here's the usage:</p>
86
87 <div class="code"><pre>
88 $ cvs_report.pl -u
89 Usage: cvs_report.pl [-u] [-email-to &lt;<i>list</i>&gt;] [-email-cc &lt;<i>list</i>&gt;]
90                      -from &lt;<i>tag</i>&gt; -to &lt;<i>tag</i>&gt; -m &lt;<i>cvs_module</i>&gt;
91
92 Where:
93
94         -u:             Display usage
95         -email-to:      Comma separated list of email addresses
96                         to send the report to (Default: Report sent to STDOUT)
97         -email-cc:      Comma separated list of email addresses
98                         to cc the report to
99         -from:          CVS tag used as the base (Default: Extracted from CVS
100                         area - error if no CVS area)
101         -to:            CVS tag used as the delta (Default: HEAD)
102         -m:             CVS module to process
103 </pre></div>
104
105 <p>Notice that there are options for -email-to and -email-cc. If no email options are specified then cvs_report just outputs the report to STDOUT. This can be used to capture what was picked up. For example, to pickup the ECRs that were incorporated between Lion_lynxos_120604 and Lion_lynxos_012405 one could:</p>
106
107 <div class="code"><pre>
108 $ cvs_report.pl -from Lion_lynxos_120405 -to Lion_lynxos_012405 -m lynxos > /tmp/ECRs.log
109 </pre></div>
110
111 <p>Note that if -to is not specified then it defaults to HEAD. So the following cronjob could be configured:</p>
112
113 <div class="code"><pre>
114 * 4 * * * /it/bin/cvs_report.pl -email-to &lt;<i>email alias</i>&gt;
115 </pre></div>
116
117 <p>(It would be best if email aliases were used to control who the report is normally sent to).</p>
118
119 <p>You may notice that there is no -from in the cronjob. This is possible because of another optimization change to cvs_report.  The old cvs_report.pl would check out a module into a temporary directory based on a tag then do an update capturing and processing the output from cvs update as the files that have changed. Then it would remove that temporary area. This is a waste as the next night the CVS area is created again from the same -from or base tag. The new cvs_report will also create the temporary area by using $module.cvsr (e.g. lynxos.cvsr). Additionally it will create a file in $module.cvsr named .cvsr containing the -from tag. Subsequent runs of cvs_report without a -from will use the .cvsr file to ascertain what base level the CVS area is at. Thus it does not need to "refresh" the CVS area again and can instead proceed to the cvs update step. This saves several minutes of processing time.</p>
120
121 <p>Finally, even the cronjob does not need to ever be changed (except if we change the -email-to parameter, which, again, should be an email alias thus we would not change the cronjob rather we would change the email alias - think of people subscribing to receive the CVS report). When we go from Lion_lynxos_012405 -> the next tag all that need be done in a shell window is:</p>
122
123 <div class="code"><pre>
124 $ cvs_report.pl -from &lt;<i>new tag</i>&gt; -m lynxos
125 </pre></div>
126
127 <p>Since -from is specified, cvs_report will refresh the lynxos.cvs area and update the .cvsr file to reflect the change. The nightly cronjob will automatically sense the change and just work!</p>
128
129 <p>Oh, and in passing, I make a change such that new files, files who were not present at the -from tag, are tagged with an "*" to indicate that this file is new file in CVS.</p>
130                 </div>
131                 <nav class="page-navigation entry-navigation pagination content-nav">
132                   <ul class="page-navigation-list">
133
134                     <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/01/built-012405.html" title="Built 012405">Previous entry</a></li>
135
136
137                     <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/01/cvs-corruption.html" title="CVS corruption">Next entry</a></li>
138
139                   </ul>
140                 </nav>
141                 <!--
142 <aside id="zenback" class="zenback feedback">
143   Please paste Zenback script code here.
144 </aside>
145 -->
146                 
147                 
148               </article>
149             </div>
150             <aside class="widgets related" role="complementary">
151               <nav class="widget-search widget">
152   <div class="widget-content">
153     <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
154       <div>
155         <input type="text" name="search" value="" placeholder="Search...">
156
157         <input type="hidden" name="IncludeBlogs" value="8">
158
159         <input type="hidden" name="limit" value="20">
160         <button type="submit" name="button">
161           <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
162         </button>
163       </div>
164     </form>
165   </div>
166 </nav>
167 <nav class="widget-archive-category widget">
168   <h3 class="widget-header">Categories</h3>
169   <div class="widget-content">
170     
171       
172     <ul class="widget-list">
173       
174       
175       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
176       
177       
178       </li>
179       
180     
181       
182       
183       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
184       
185       
186       </li>
187       
188     
189       
190       
191       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
192       
193       
194       </li>
195       
196     
197       
198       
199       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
200       
201       
202       </li>
203       
204     
205       
206       
207       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
208       
209       
210       </li>
211       
212     
213       
214       
215       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
216       
217       
218       </li>
219       
220     
221       
222       
223       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
224       
225       
226       </li>
227       
228     
229       
230       
231       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
232       
233       
234       </li>
235       
236     
237       
238       
239       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
240       
241       
242       </li>
243       
244     
245       
246       
247       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
248       
249       
250       </li>
251       
252     
253       
254       
255       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
256       
257       
258       </li>
259       
260     
261       
262       
263       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
264       
265       
266       </li>
267       
268     </ul>
269       
270     
271   </div>
272 </nav>
273   
274
275 <nav class="widget-archive-dropdown widget">
276   <h3 class="widget-header">Archives</h3>
277   <div class="widget-content">
278     <select>
279       <option>Select a Month...</option>
280     
281       <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
282     
283   
284     
285       <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
286     
287   
288     
289       <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
290     
291   
292     
293       <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
294     
295   
296     
297       <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
298     
299   
300     
301       <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
302     
303   
304     
305       <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
306     
307   
308     
309       <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
310     
311   
312     
313       <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
314     
315   
316     
317       <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
318     
319   
320     
321       <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
322     
323   
324     
325       <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
326     
327   
328     
329       <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
330     
331   
332     
333       <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
334     
335   
336     
337       <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
338     
339   
340     
341       <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
342     
343   
344     
345       <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
346     
347   
348     
349       <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
350     
351   
352     
353       <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
354     
355   
356     
357       <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
358     
359   
360     
361       <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
362     
363   
364     
365       <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
366     
367   
368     
369       <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
370     
371   
372     
373       <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
374     
375   
376     
377       <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
378     
379   
380     
381       <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
382     
383   
384     
385       <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
386     
387   
388     
389       <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
390     
391   
392     
393       <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
394     
395   
396     
397       <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
398     
399   
400     
401       <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
402     
403   
404     
405       <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
406     
407   
408     
409       <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
410     
411   
412     
413       <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
414     
415   
416     
417       <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
418     
419   
420     
421       <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
422     
423   
424     
425       <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
426     
427   
428     
429       <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
430     
431   
432     
433       <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
434     
435   
436     
437       <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
438     
439   
440     
441       <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
442     
443   
444     
445       <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
446     
447   
448     
449       <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
450     
451   
452     
453       <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
454     
455   
456     
457       <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
458     
459   
460     
461       <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
462     
463   
464     
465       <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
466     
467   
468     
469       <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
470     
471   
472     
473       <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
474     
475   
476     
477       <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
478     
479   
480     
481       <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
482     
483   
484     
485       <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
486     
487   
488     
489       <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
490     
491   
492     
493       <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
494     
495   
496     
497       <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
498     
499   
500     
501       <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
502     
503   
504     
505       <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
506     
507   
508     
509       <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
510     
511   
512     
513       <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
514     
515   
516     
517       <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
518     
519   
520     
521       <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
522     
523   
524     
525       <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
526     
527   
528     
529       <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
530     
531   
532     
533       <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
534     
535   
536     
537       <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
538     
539   
540     
541       <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
542     
543   
544     
545       <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
546     
547   
548     
549       <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
550     
551   
552     
553       <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
554     
555   
556     
557       <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
558     
559   
560     
561       <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
562     
563   
564     
565       <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
566     
567     </select>
568   </div>
569 </nav>
570     
571   
572
573 <div class="widget-syndication widget section">
574   <div class="widget-content">
575     <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>
576
577   </div>
578 </div>
579
580             </aside>
581           </div>
582         </div>
583         <footer id="footer" role="contentinfo">
584           <div id="footer-inner">
585             <div id="footer-content">
586   <nav role="navigation">
587           <ul>
588             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
589
590
591           </ul>
592         </nav>
593
594   <p class="license">&copy; Copyright 2016.</p>
595   <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
596 </div>
597           </div>
598         </footer>
599       </div>
600     </div>
601     <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
602     <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>
603   </body>
604 </html>