antoine     2003/11/06 13:20:33

  Modified:    docs/manual/CoreTasks Tag: ANT_16_BRANCH cvstagdiff.html
               src/main/org/apache/tools/ant/taskdefs/cvslib Tag:
                        ANT_16_BRANCH CvsTagDiff.java CvsTagEntry.java
  Log:
  Merge from HEAD
  fixes issues with reporting on an alias, or reporting on multiple modules.
  PR: 21373
  PR: 22877
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.8.2.2   +19 -15    ant/docs/manual/CoreTasks/cvstagdiff.html
  
  Index: cvstagdiff.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/cvstagdiff.html,v
  retrieving revision 1.8.2.1
  retrieving revision 1.8.2.2
  diff -u -r1.8.2.1 -r1.8.2.2
  --- cvstagdiff.html   9 Oct 2003 21:01:06 -0000       1.8.2.1
  +++ cvstagdiff.html   6 Nov 2003 21:20:33 -0000       1.8.2.2
  @@ -48,11 +48,6 @@
       <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">rootdir</td>
  -    <td valign="top">Root directory for the package, if different from the 
package name.</td>
  -    <td align="center" valign="top">No</td>
  -  </tr>
   </table>
   
   <h3>Parameters inherited from the <code>cvs</code> task</h3>
  @@ -79,7 +74,10 @@
     </tr>
     <tr>
       <td valign="top">package</td>
  -    <td valign="top">the package/module to analyze.</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</td>
       <td align="center" valign="top">Yes</td>
     </tr>
     <tr>
  @@ -132,16 +130,14 @@
   
   <pre>  &lt;cvstagdiff
                   destfile=&quot;tagdiff.xml&quot;
  -                package=&quot;ant&quot;
  -                rootdir=&quot;apache/ant&quot;
  -                startDate=&quot;2002-01-01&quot;
  -                endDate=&quot;2002-31-01&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> module in january 2002, with <code>rootdir</code> 
indicating that
  -the actual location of the <code>ant</code> module in cvs is 
<code>apache/ant</code>
  -rather than <code>ant</code>. In this example <code>cvsRoot</code>
  +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>
  @@ -161,9 +157,17 @@
           &lt;/style&gt;
   </pre>
   
  -<h4>Sample Output</h4>
  +<h4>Output</h4>
   <p>
  -The cvsroot and package attributes of the tagdiff element are new in ant 1.6.
  +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;
  
  
  
  No                   revision
  No                   revision
  1.16.2.3  +27 -6     
ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java
  
  Index: CvsTagDiff.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java,v
  retrieving revision 1.16.2.2
  retrieving revision 1.16.2.3
  diff -u -r1.16.2.2 -r1.16.2.3
  --- CvsTagDiff.java   6 Nov 2003 09:27:21 -0000       1.16.2.2
  +++ CvsTagDiff.java   6 Nov 2003 21:20:33 -0000       1.16.2.3
  @@ -62,6 +62,8 @@
   import java.io.PrintWriter;
   import java.io.UnsupportedEncodingException;
   import java.util.Vector;
  +import java.util.StringTokenizer;
  +
   import org.apache.tools.ant.BuildException;
   import org.apache.tools.ant.Project;
   import org.apache.tools.ant.taskdefs.AbstractCvsTask;
  @@ -243,7 +245,11 @@
               addCommandArgument("-D");
               addCommandArgument(myendDate);
           }
  -        addCommandArgument(mypackage);
  +        // support multiple packages
  +        StringTokenizer myTokenizer = new StringTokenizer(mypackage);
  +        while (myTokenizer.hasMoreTokens()) {
  +            addCommandArgument(myTokenizer.nextToken());
  +        }
           // force command not to be null
           setCommand("");
           File tmpFile = null;
  @@ -284,15 +290,21 @@
               reader = new BufferedReader(new FileReader(tmpFile));
   
               // entries are of the form:
  +            //CVS 1.11
               // File module/filename is new; current revision 1.1
  +            //CVS 1.11.9
  +            // File module/filename is new; cvstag_2003_11_03_2  revision 1.1
               // or
               // File module/filename changed from revision 1.4 to 1.6
               // or
               // File module/filename is removed; not included in
               // release tag SKINLF_12
  -
  +            //CVS 1.11.9
  +            // File testantoine/antoine.bat is removed; TESTANTOINE_1 
revision 1.1.1.1
  +            //
               // get rid of 'File module/"
  -            int headerLength = FILE_STRING.length() + mypackage.length() + 1;
  +            String toBeRemoved = FILE_STRING + mypackage + "/";
  +            int headerLength = toBeRemoved.length();
               Vector entries = new Vector();
   
               String line = reader.readLine();
  @@ -301,7 +313,11 @@
   
               while (null != line) {
                   if (line.length() > headerLength) {
  -                    line = line.substring(headerLength);
  +                    if (line.startsWith(toBeRemoved)) {
  +                        line = line.substring(headerLength);
  +                    } else {
  +                        line = line.substring(FILE_STRING.length());
  +                    }
   
                       if ((index = line.indexOf(FILE_IS_NEW)) != -1) {
   //CVS 1.11
  @@ -336,7 +352,12 @@
                       } else if ((index = line.indexOf(FILE_WAS_REMOVED)) != 
-1) {
                           // it is a removed file
                           String filename = line.substring(0, index);
  -                        entry = new CvsTagEntry(filename);
  +                        String rev = null;
  +                        int indexrev = -1;
  +                        if ((indexrev = line.indexOf(REVISION, index)) != 
-1) {
  +                            rev = line.substring(indexrev + 
REVISION.length());
  +                        }
  +                        entry = new CvsTagEntry(filename, null, rev);
                           entries.addElement(entry);
                           log(entry.toString(), Project.MSG_VERBOSE);
                       }
  
  
  
  1.2.2.1   +4 -1      
ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagEntry.java
  
  Index: CvsTagEntry.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagEntry.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- CvsTagEntry.java  10 Feb 2003 14:13:43 -0000      1.2
  +++ CvsTagEntry.java  6 Nov 2003 21:20:33 -0000       1.2.2.1
  @@ -91,8 +91,11 @@
       public String toString() {
           StringBuffer buffer = new StringBuffer();
           buffer.append(m_filename);
  -        if ((m_revision == null) && (m_prevRevision == null)) {
  +        if ((m_revision == null)) {
               buffer.append(" was removed");
  +            if(m_prevRevision != null) {
  +                buffer.append("; previous revision was 
").append(m_prevRevision);
  +            }
           } else if (m_revision != null && m_prevRevision == null) {
               buffer.append(" is new; current revision is ")
                   .append(m_revision);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to