Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / 000496.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
4 <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta name="generator" content="Movable Type 5.2.3" />
7
8    <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9    <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml" />
11
12    <title>Status for Andrew DeFaria: cvsims</title>
13
14    <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15    <link rel="prev" href="http://defaria.com/blogs/Status/archives/000495.html" title="mktriggers/CVS" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/000497.html" title="get_views_for_stream/create_dev_snapview.pl" />
17
18    
19
20    
21
22    <script type="text/javascript" src="http://defaria.com/blogs/Status/mt-site.js"></script>
23 </head>
24 <body class="layout-one-column" onload="individualArchivesOnLoad(commenter_name)">
25    <div id="container">
26       <div id="container-inner" class="pkg">
27
28          <div id="banner">
29             <div id="banner-inner" class="pkg">
30                <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
31                <h2 id="banner-description">Searchable status reports and work log</h2>
32             </div>
33          </div>
34
35          <div id="pagebody">
36             <div id="pagebody-inner" class="pkg">
37                <div id="alpha">
38                   <div id="alpha-inner" class="pkg">
39
40                      <p class="content-nav">
41                         <a href="http://defaria.com/blogs/Status/archives/000495.html">&laquo; mktriggers/CVS</a> |
42                         <a href="http://defaria.com/blogs/Status/">Main</a>
43                         | <a href="http://defaria.com/blogs/Status/archives/000497.html">get_views_for_stream/create_dev_snapview.pl &raquo;</a>
44                      </p>
45
46                      <a id="a000496"></a>
47                      <div class="entry" id="entry-496">
48                         <h3 class="entry-header">cvsims</h3>
49                         <div class="entry-content">
50                            <div class="entry-body">
51                               <ul>
52   <li>Updated triggers on ccase-rmna-3 as some new vobs seem to lack them</li>
53
54   <li>Updated cvsims to parse input and handle both -pre and -post operations</li>
55
56   <li>Had problems with CVS admin files</li>
57 </ul>
58                            </div>
59                            <div id="more" class="entry-more">
60                               <h2>CVSIMS</h2>
61
62 <p>I have managed to learn how to update IMS and I'm at the point where I need to understand the input requirements better. I will describe what I envision happening and follow it with a few questions.</p>
63
64 <p>In general the desire seems to be to update IMS when a commit happens in certain CVS repositories<a href="#q1"><sup>1</sup></a>. As such commit comment information will need to conform to a certain format. Commit comments need to have the following in them identifying the IMS Issue ID they are associated with:</p>
65
66 <div class="code"><pre>
67 IMSIssueID: &lt;issue ID&gt;
68 </pre></div>
69
70 <h3>Pre-commit checks (i.e. verifymsg)</h3>
71
72 <p>The string "IMSIssueID: " must appear at the start of a line followed by the issue ID<a href="#q2"><sup>2</sup></a>. The IMSIssueID must exist in IMS<a href="#q3"><sup>3</sup></a>. If the issue ID is not in IMS then the commit will not be allowed. Commits lacking any IMSIssueID will be rejected<a href="#q4"><sup>4</sup></a>.</p>
73
74 <h3>Post-commit operations (i.e. loginfo)</h3>
75
76 <p>If the pre-commit checks pass the IMS issue will have it's change set field updated with the file names of the committed files. As change set is an append only field the following separator will be added first followed by the list of files<a href="#q5"><sup>5</sup></a>:</p>
77
78 <div class="code"><pre>
79 # &lt;USERNAME&gt; &lt;DATE_TIME&gt; committed:
80 file1
81 file2
82 ...
83 </pre></div>
84
85 <p>Again, as change set is an append only field there may be multiple updates like so:</p>
86
87 <div class="code"><pre>
88 # &lt;USERNAME&gt; &lt;DATE_TIME&gt; committed:
89 file1
90 file2
91 ...
92 # &lt;USERNAME&gt; &lt;DATE_TIME&gt; committed:
93 file10
94 </pre></div>
95
96 <h3>Questions</h3>
97 <ol>
98   <li><a name="q1"></a>Which repositories does this apply?</li>
99
100   <li><a name="q2"></a>Are multiple IMSIssueIDs allowed? If so then are multiple lines such
101 as the above acceptable or should the script search for perhaps a comma separated list of issue IDs?</li>
102
103   <li><a name="q3"></a>Should the script also check to insure that the issue ID is not in say a closed state?</li>
104
105   <li><a name="q4"></a>Is it true that all commits in a repository/module/directory <b>must</b> be associated to an IMS Issue?</li>
106
107   <li><a name="q5"></a>In addition to the file name should we include the revision checked in? Also should any other information be logged (e.g. repository)?</li>
108 </ol>
109
110 <h2>CVS Admin Files</h2>
111
112 <p>I got myself into a pickle. Here's what I was doing...</p>
113
114 <p>I wanted to modify <span>rcsinfo, verifymsg and loginfo
115 in our CVS test area (:pserver:adefaria@cvsps-irva-1:/projects/ccase_irva/cvsmaster)
116 so I checked out CVSROOT and modified those files. The idea was to have rcsinfo point to a template file so the user knows where to put the IMSIssueID, change verifymsg to call cvsism
117 (the connector) to verify that it can find the IssueID and that the IssueID exists in IMS and change loginfo to call cvsism to update the change set after the commit. Unfortunately I modified the files in such a way that I cannot check in at all. I need help in fixing this because I believe what needs to be done needs to be done on the server and I don't have a login there let alone root access.</p>
118
119 <p>The problem is that I don't understand what the cwd is when CVS fires off these triggers. For example, in rcsinfo I have the following line:</p>
120
121 <div class="code"><pre>
122 ALL /tmp/IMSIssueTemplate
123 </pre></div>
124
125 <p>"ALL" means for all files and /tmp/IMSIssueTemplate is the template file. But where is /tmp? Is it supposed to be on the server? Where's a good place to put these template files?</p>
126
127 <p>In verifymsg I have:</p>
128
129 <div class="code"><pre>
130 DEFAULT SCM/cvsbin/cvsims -pre
131 </pre></div>
132
133 <p>I want to run cvsims (which is in my home directory under SCM/cvsbin) but this also fails.
134 As a result of this I cannot use cvs commit to change verifymsg, hence I'm stuck!</p>
135
136 <p>In <span>loginfo</span> I have:</p>
137
138 <div class="code"><pre>
139 DEFAULT SCM/cvsbin/cvsims -post %{s}
140 </pre></div>
141
142 <p>Again SCM/cvsbin/cvsims is not a valid path.</p>
143
144 <p>How can I get this fixed? Where should I put these files?</p>
145                            </div>
146                         </div>
147                         <p class="entry-footer">
148                            <span class="post-footers">Posted by  on December 13, 2005 12:35 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000496.html">Permalink</a>
149                         </p>
150                      </div>
151
152                      
153
154                      
155                   </div>
156                </div>
157             </div>
158          </div>
159       </div>
160    </div>
161 </body>
162 </html>