aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/manual/Tasks/cvstagdiff.html
blob: 5350d8efcd98af51380db436d3f5b9034dc43f8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
<title>CvsTagDiff Task</title>
</head>
<body>
<h2><a name="cvstagdiff">CvsTagDiff</a></h2>
<h3>Description</h3>
<p>Generates an XML-formatted report file of the changes between two tags or dates recorded in a
<a href="http://www.nongnu.org/cvs/" target="_top">CVS</a> repository. </p>
<p><b>Important:</b> This task needs &quot;<code>cvs</code>&quot; on the path. If it isn't, you will get
an error (such as error <code>2</code> on windows). If <code>&lt;cvs&gt;</code> doesn't work, try to execute <code>cvs.exe</code>
from the command line in the target directory in which you are working.
Also note that this task assumes that the cvs executable is compatible
with the Unix version from cvshome.org, this is not completely true
for certain other cvs clients - like CVSNT for example - and some
operation may fail when using such an incompatible client.
</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">startTag</td>
    <td valign="top">The earliest tag from which diffs are to be
     included in the report.</td>
    <td align="center" valign="top" rowspan="2">exactly one of the two.</td>
  </tr>
  <tr>
    <td valign="top">startDate</td>
    <td valign="top">The earliest date from which diffs are to be
     included in the report.<br>
     accepts all formats accepted by the cvs command for -D date_spec arguments</td>
  </tr>
  <tr>
    <td valign="top">endTag</td>
    <td valign="top">The latest tag from which diffs are to be
     included in the report.</td>
    <td align="center" valign="top" rowspan="2">exactly one of the two.</td>
  </tr>
  <tr>
    <td valign="top">endDate</td>
    <td valign="top">The latest date from which diffs are to be
     included in the report.<br>
     accepts all formats accepted by the cvs command for -D date_spec arguments</td>
  </tr>
  <tr>
    <td valign="top">destfile</td>
    <td valign="top">The file in which to write the diff report.</td>
    <td align="center" valign="top">Yes</td>
  </tr>
  <tr>
    <td valign="top">ignoreRemoved</td>
    <td valign="top">When set to true, the report will not include any
      removed files.  <em>Since Apache Ant 1.8.0</em></td>
    <td align="center" valign="top">No, defaults to false.</td>
</table>

<h3>Parameters inherited from the <code>cvs</code> task</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">compression</td>
    <td valign="top"><code>true</code>, <code>false</code>, or the number 1-9 (corresponding to possible values for CVS <code>-z#</code> argument). Any other value is treated as false</td>
    <td align="center" valign="top">No. Defaults to no compression. if passed <code>true</code>, level 3 compression is assumed.</td>
  </tr>
  <tr>
    <td valign="top">cvsRoot</td>
    <td valign="top">the CVSROOT variable.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">cvsRsh</td>
    <td valign="top">the CVS_RSH variable.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">package</td>
    <td valign="top">the package/module to analyze.<br>
    Since Ant 1.6
    multiple packages separated by spaces are possible.
    aliases corresponding to different modules are also possible
    Use a nested &lt;module&gt; element if you want to specify a module with
    spaces in its name.</td>
    <td align="center" valign="top">No</td>
  </tr>
    <td align="center" valign="top">Yes</td>
  </tr>
  <tr>
    <td valign="top">quiet</td>
    <td valign="top">suppress informational messages.</td>
    <td align="center" valign="top">No, default &quot;false&quot;</td>
  </tr>
  <tr>
    <td valign="top">port</td>
    <td valign="top">Port used by CVS to communicate with the server.</td>
    <td align="center" valign="top">No, default port 2401.</td>
  </tr>
  <tr>
    <td valign="top">passfile</td>
    <td valign="top">Password file to read passwords from.</td>
    <td align="center" valign="top">No, default file <code>~/.cvspass</code>.</td>
  </tr>
  <tr>
    <td valign="top">failonerror</td>
    <td valign="top">Stop the buildprocess if the command exits with a
      returncode other than 0. Defaults to false</td>
    <td align="center" valign="top">No</td>
  </tr>
</table>

<h3>Parameters specified as nested elements</h3>

<h4>module</h4>

<p>Specifies a package/module to work on, unlike the package attribute
  modules specified using this attribute can contain spaces in their
  name.</p>

<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">name</td>
    <td valign="top">The module's/package's name.</td>
    <td align="center" valign="top">Yes.</td>
  </tr>
</table>

<h3>Examples</h3>
<pre>  &lt;cvstagdiff cvsRoot=&quot;:pserver:anoncvs@cvs.apache.org:/home/cvspublic&quot;
                destfile=&quot;tagdiff.xml&quot;
                package=&quot;ant&quot;
                startTag=&quot;ANT_14&quot;
                endTag=&quot;ANT_141&quot;
  /&gt;</pre>

<p>Generates a tagdiff report for all the changes that have been made
in the <code>ant</code> module between the tags <code>ANT_14</code> and <code>ANT_141</code>.
It writes these changes into the file <code>tagdiff.xml</code>.</p>

<pre>  &lt;cvstagdiff
                destfile=&quot;tagdiff.xml&quot;
                package=&quot;ant&quot;
                startDate=&quot;2002-01-01&quot;
                endDate=&quot;2002-31-01&quot;
  /&gt;</pre>

<p>Generates a tagdiff report for all the changes that have been made
in the <code>ant</code> module in january 2002. In this example <code>cvsRoot</code>
has not been set. The current <code>cvsRoot</code> will be used (assuming the build is started
from a folder stored in <code>cvs</code>.
It writes these changes into the file <code>tagdiff.xml</code>.</p>

<pre>  &lt;cvstagdiff
                destfile=&quot;tagdiff.xml&quot;
                package=&quot;ant jakarta-gump&quot;
                startDate=&quot;2003-01-01&quot;
                endDate=&quot;2003-31-01&quot;
  /&gt;</pre>

<p>Generates a tagdiff report for all the changes that have been made
in the <code>ant</code> and <code>jakarta-gump</code> modules in january 2003.
In this example <code>cvsRoot</code>
has not been set. The current <code>cvsRoot</code> will be used (assuming the build is started
from a folder stored in <code>cvs</code>.
It writes these changes into the file <code>tagdiff.xml</code>.</p>

<h4>Generate Report</h4>
<p>Ant includes a basic XSLT stylesheet that you can use to generate 
a HTML report based on the xml output. The following example illustrates
how to generate a HTML report from the XML report.</p>

<pre>
        &lt;style in="tagdiff.xml" 
               out="tagdiff.html" 
               style="${ant.home}/etc/tagdiff.xsl"&gt;
          &lt;param name="title" expression="Ant Diff"/&gt;
          &lt;param name="module" expression="ant"/&gt;
          &lt;param name="cvsweb" expression="http://cvs.apache.org/viewcvs/"/&gt;
        &lt;/style&gt;
</pre>

<h4>Output</h4>
<p>
The cvsroot and package attributes of the tagdiff element are new in ant 1.6.<br>
Notes on entry attributes :
<table border="1">
<tr><th>Attribute</th><th>Comment</th></tr>
<tr><td>name</td><td>when reporting on one package, the package name is removed from the output</td></tr>
<tr><td>revision</td><td>supplied for files which exist at the end of the reporting period</td></tr>
<tr><td>prevrevision</td><td>supplied for files which exist at the beginning of the reporting period.<br>
Old CVS servers do not supply it for deleted files. CVS 1.12.2 supplies it.</td></tr>
</table>
</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;tagdiff startTag=&quot;ANT_14&quot; endTag=&quot;ANT_141&quot; 
cvsroot=&quot;:pserver:anoncvs@cvs.apache.org:/home/cvspublic&quot; package=&quot;ant&quot;&gt;
  &lt;entry&gt;
    &lt;file&gt;
      &lt;name&gt;src/main/org/apache/tools/ant/DirectoryScanner.java&lt;/name&gt;
      &lt;revision&gt;1.15.2.1&lt;/revision&gt;
      &lt;prevrevision&gt;1.15&lt;/prevrevision&gt;
    &lt;/file&gt;
  &lt;/entry&gt;
&lt;/tagdiff&gt;
</pre>



</body>
</html>