You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2005/02/15 12:12:15 UTC

cvs commit: ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn SvnChangeLogParser.java SvnChangeLogTask.java SvnChangeLogWriter.java SvnEntry.java

bodewig     2005/02/15 03:12:15

  Modified:    proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn
                        SvnChangeLogParser.java SvnChangeLogTask.java
                        SvnChangeLogWriter.java SvnEntry.java
  Log:
  Add more info on paths, don't accumulate information, msg -> message
  
  Revision  Changes    Path
  1.2       +5 -4      ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogParser.java
  
  Index: SvnChangeLogParser.java
  ===================================================================
  RCS file: /home/cvs/ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogParser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SvnChangeLogParser.java	14 Feb 2005 13:28:33 -0000	1.1
  +++ SvnChangeLogParser.java	15 Feb 2005 11:12:15 -0000	1.2
  @@ -98,7 +98,7 @@
               //We have ended changelog for that particular revision
               //so we can save it
               final int end
  -                = message.length() - lineSeparator.length(); //was -1
  +                = message.length() - lineSeparator.length();
               message = message.substring(0, end);
               saveEntry();
               status = GET_REVISION_LINE;
  @@ -147,8 +147,8 @@
               // ignore
           } else if (line.equals("")) {
               status = GET_MESSAGE;
  -        } else {
  -            paths.add(line.substring(5));
  +        } else if (line.length() > 5) {
  +            paths.add(new SvnEntry.Path(line.substring(5), line.charAt(3)));
           }
       }
   
  @@ -159,6 +159,7 @@
           SvnEntry entry = new SvnEntry(date, revision, author, message,
                                         paths);
           entries.add(entry);
  +        reset();
       }
   
       /**
  
  
  
  1.2       +5 -4      ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogTask.java
  
  Index: SvnChangeLogTask.java
  ===================================================================
  RCS file: /home/cvs/ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogTask.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SvnChangeLogTask.java	14 Feb 2005 13:28:33 -0000	1.1
  +++ SvnChangeLogTask.java	15 Feb 2005 11:12:15 -0000	1.2
  @@ -46,7 +46,7 @@
    * <font color=#0000ff>&lt;!-- Root element --&gt;</font>
    * <font color=#6a5acd>&lt;!ELEMENT</font> changelog <font color=#ff00ff>(entry</font><font color=#ff00ff>+</font><font color=#ff00ff>)</font><font color=#6a5acd>&gt;</font>
    * <font color=#0000ff>&lt;!-- SVN Entry --&gt;</font>
  - * <font color=#6a5acd>&lt;!ELEMENT</font> entry <font color=#ff00ff>(date,time,revision,author,file</font><font color=#ff00ff>+,msg</font><font color=#ff00ff>,msg)</font><font color=#6a5acd>&gt;</font>
  + * <font color=#6a5acd>&lt;!ELEMENT</font> entry <font color=#ff00ff>(date,time,revision,author,path</font><font color=#ff00ff>+,msg</font><font color=#ff00ff>,msg)</font><font color=#6a5acd>&gt;</font>
    * <font color=#0000ff>&lt;!-- Date of svn entry --&gt;</font>
    * <font color=#6a5acd>&lt;!ELEMENT</font> date <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>&gt;</font>
    * <font color=#0000ff>&lt;!-- Time of svn entry --&gt;</font>
  @@ -55,10 +55,11 @@
    * <font color=#6a5acd>&lt;!ELEMENT</font> author <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>&gt;</font>
    * <font color=#0000ff>&lt;!-- commit message --&gt;</font>
    * <font color=#6a5acd>&lt;!ELEMENT</font> msg <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>&gt;</font>
  - * <font color=#0000ff>&lt;!-- List of files affected --&gt;</font>
  - * <font color=#6a5acd>&lt;!ELEMENT</font> file <font color=#ff00ff>(name</font><font color=#ff00ff>?</font><font color=#ff00ff>)</font><font color=#6a5acd>&gt;</font>
  - * <font color=#0000ff>&lt;!-- Name of the file --&gt;</font>
  + * <font color=#0000ff>&lt;!-- List of paths affected --&gt;</font>
  + * <font color=#6a5acd>&lt;!ELEMENT</font> path <font color=#ff00ff>(name,action)</font><font color=#ff00ff></font><font color=#ff00ff>)</font><font color=#6a5acd>&gt;</font>
  + * <font color=#0000ff>&lt;!-- Name of the path --&gt;</font>
    * <font color=#6a5acd>&lt;!ELEMENT</font> name <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>&gt;</font>
  + * <font color=#6a5acd>&lt;!ELEMENT</font> action <font color=#ff00ff>(added|modified|deleted)</font><font color=#6a5acd>&gt;</font>
    * <font color=#0000ff>&lt;!-- Revision number --&gt;</font>
    * <font color=#6a5acd>&lt;!ELEMENT</font> revision <font color=#ff00ff>(#PCDATA)</font><font color=#6a5acd>&gt;</font>
    * </pre>
  
  
  
  1.2       +10 -7     ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java
  
  Index: SvnChangeLogWriter.java
  ===================================================================
  RCS file: /home/cvs/ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnChangeLogWriter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SvnChangeLogWriter.java	14 Feb 2005 13:28:33 -0000	1.1
  +++ SvnChangeLogWriter.java	15 Feb 2005 11:12:15 -0000	1.2
  @@ -65,16 +65,19 @@
               + "</time>");
           output.println("\t\t<author><![CDATA[" + entry.getAuthor()
               + "]]></author>");
  -        output.println("\t\t<revision><![CDATA[" + entry.getRevision()
  -            + "]]></revision>");
  +        output.println("\t\t<revision>" + entry.getRevision()
  +            + "</revision>");
   
  -        String[] paths = entry.getPaths();
  +        SvnEntry.Path[] paths = entry.getPaths();
           for (int i = 0; i < paths.length; i++) {
  -            output.println("\t\t<file>");
  -            output.println("\t\t\t<name><![CDATA[" + paths[i] + "]]></name>");
  -            output.println("\t\t</file>");
  +            output.println("\t\t<path>");
  +            output.println("\t\t\t<name><![CDATA[" + paths[i].getName() 
  +                           + "]]></name>");
  +            output.println("\t\t\t<action>" + paths[i].getActionDescription() 
  +                           + "</action>");
  +            output.println("\t\t</path>");
           }
  -        output.println("\t\t<msg><![CDATA[" + entry.getMessage() + "]]></msg>");
  +        output.println("\t\t<message><![CDATA[" + entry.getMessage() + "]]></message>");
           output.println("\t</entry>");
       }
   }
  
  
  
  1.2       +52 -4     ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnEntry.java
  
  Index: SvnEntry.java
  ===================================================================
  RCS file: /home/cvs/ant/proposal/sandbox/svn/src/main/org/apache/tools/ant/taskdefs/svn/SvnEntry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SvnEntry.java	14 Feb 2005 13:28:33 -0000	1.1
  +++ SvnEntry.java	15 Feb 2005 11:12:15 -0000	1.2
  @@ -60,8 +60,8 @@
        * @param path the path to add
        * @param revision the revision
        */
  -    public void addPath(final String name) {
  -        paths.add(name);
  +    public void addPath(final String name, final char action) {
  +        paths.add(new Path(name, action));
       }
   
       /**
  @@ -108,8 +108,56 @@
        * Gets the paths in this SvnEntry
        * @return the files
        */
  -    public String[] getPaths() {
  -        return (String[]) paths.toArray(new String[paths.size()]);
  +    public Path[] getPaths() {
  +        return (Path[]) paths.toArray(new Path[paths.size()]);
  +    }
  +
  +    public static class Path {
  +
  +        private static final char ADDED_MARKER = 'A';
  +        private static final char MODIFIED_MARKER = 'M';
  +        private static final char DELETED_MARKER = 'D';
  +
  +        public static final int ADDED = 0;
  +        public static final int MODIFIED = 1;
  +        public static final int DELETED = 2;
  +
  +        private static final String[] ACTIONS = {
  +            "added", "modified", "deleted",
  +        };
  +
  +        private final String name;
  +        private final int action;
  +
  +        public Path(final String name, final char actionChar) {
  +            this.name = name;
  +            switch (actionChar) {
  +            case ADDED_MARKER:
  +                action = ADDED;
  +                break;
  +            case MODIFIED_MARKER:
  +                action = MODIFIED;
  +                break;
  +            case DELETED_MARKER:
  +                action = DELETED;
  +                break;
  +            default:
  +                throw new IllegalArgumentException("Unkown action; " 
  +                                                   + actionChar);
  +            }
  +        }
  +
  +        public String getName() {
  +            return name;
  +        }
  +
  +        public int getAction() {
  +            return action;
  +        }
  +
  +        public String getActionDescription() {
  +            return ACTIONS[action];
  +        }
       }
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org