antoine     2003/11/06 12:39:53

  Modified:    .        WHATSNEW
               src/main/org/apache/tools/ant/taskdefs/cvslib
                        CvsTagDiff.java CvsTagEntry.java
  Log:
  Allow reporting on multiple modules, aliased or not.
  Also report the previous revision of deleted files when it is available.
  PR: 21373
  PR: 22877
  
  Revision  Changes    Path
  1.511     +6 -0      ant/WHATSNEW
  
  Index: WHATSNEW
  ===================================================================
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.510
  retrieving revision 1.511
  diff -u -r1.510 -r1.511
  --- WHATSNEW  24 Oct 2003 05:53:13 -0000      1.510
  +++ WHATSNEW  6 Nov 2003 20:39:52 -0000       1.511
  @@ -209,6 +209,12 @@
     element tagdiff of the xml output
     Bugzilla Report 16081.
   
  +* <cvstagdiff> had a problem with aliased modules and with requests for 
multiple modules
  +  Bugzilla Reports 21373 and 22877.
  +
  +* <cvstagdiff> could not parse properly the revision number of new files 
with CVS 1.11.9 or higher
  +  Bugzilla Report 24406.
  +
   * <fixcrlf> make fixcrlf create its temporary files in the default directory
     of FileUtils#createTempFile instead of the destination dir of fixcrlf.
     Bugzilla Report 20870.
  
  
  
  1.19      +27 -10    
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.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- CvsTagDiff.java   6 Nov 2003 09:21:36 -0000       1.18
  +++ CvsTagDiff.java   6 Nov 2003 20:39:53 -0000       1.19
  @@ -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,13 +313,13 @@
   
               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
  -//File apps/websphere/lib/something.jar is new; current revision 1.2
  -//CVS 1.11.9
  -//File apps/websphere/lib/something.jar is new; cvstag_2003_11_03_2 revision 
1.2
                           // it is a new file
                           // set the revision but not the prevrevision
                           String filename = line.substring(0, index);
  @@ -336,7 +348,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.3       +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.3
  diff -u -r1.2 -r1.3
  --- CvsTagEntry.java  10 Feb 2003 14:13:43 -0000      1.2
  +++ CvsTagEntry.java  6 Nov 2003 20:39:53 -0000       1.3
  @@ -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