Index: org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java
===================================================================
--- org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java (revision 21603)
+++ org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java (working copy)
@@ -439,7 +439,7 @@
             }
             if (!cvsEntry.containsBranch(branch)) {
                 // didn't match the branch
-                log("Filtering out "+cvsEntry+" because it didn't match the branch",Project.MSG_VERBOSE);
+                log("Filtering out "+cvsEntry+" because it didn't match the branch '"+branch+"'",Project.MSG_VERBOSE);
                 continue;
             }
             results.addElement(cvsEntry);
Index: scm/CVSSCM.java
===================================================================
--- scm/CVSSCM.java (revision 21603)
+++ scm/CVSSCM.java (working copy)
@@ -867,6 +867,9 @@
                     task.setFailOnError(true);
                     BufferedOutputStream bufferedOutput = new BufferedOutputStream(out);
                     task.setDeststream(bufferedOutput);
+                    // It's to enforce ChangeLogParser find a "branch".
+                    task.setBranch(branch);
+                    // It's to enforce ChangeLogTask use "baranch" in CVS command (cvs log -r...).
                     task.setTag(isTag() ? ":" + branch : branch);
                     task.setStart(startTime);
                     task.setEnd(endTime);