Index: docs/manual/coretasklist.html
===================================================================
RCS file: /home/cvspublic/jakarta-ant/docs/manual/coretasklist.html,v
retrieving revision 1.7
diff -u -r1.7 coretasklist.html
--- docs/manual/coretasklist.html	2001/04/12 06:03:39	1.7
+++ docs/manual/coretasklist.html	2001/04/13 19:03:18
@@ -28,6 +28,7 @@
 <a href="CoreTasks/copydir.html"><i>Copydir</i></a><br>
 <a href="CoreTasks/copyfile.html"><i>Copyfile</i></a><br>
 <a href="CoreTasks/cvs.html">Cvs</a><br>
+<a href="CoreTasks/cvspass.html">CVSPass</a><br>
 <a href="CoreTasks/delete.html">Delete</a><br>
 <a href="CoreTasks/deltree.html"><i>Deltree</i></a><br>
 <a href="CoreTasks/echo.html">Echo</a><br>
Index: docs/manual/CoreTasks/cvs.html
===================================================================
RCS file: /home/cvspublic/jakarta-ant/docs/manual/CoreTasks/cvs.html,v
retrieving revision 1.2
diff -u -r1.2 cvs.html
--- docs/manual/CoreTasks/cvs.html	2001/02/13 12:31:50	1.2
+++ docs/manual/CoreTasks/cvs.html	2001/04/13 19:03:19
@@ -70,6 +70,16 @@
     <td valign="top">the file to direct standard error from the command.</td>
     <td align="center" valign="top">No, default error to ANT Log as MSG_WARN.</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 ~/.cvspass.</td>
+  </tr>
 </table>
 <h3>Examples</h3>
 <pre>  &lt;cvs cvsRoot=&quot;:pserver:anoncvs@jakarta.apache.org:/home/cvspublic&quot;
Index: src/main/org/apache/tools/ant/taskdefs/Cvs.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Cvs.java,v
retrieving revision 1.13
diff -u -r1.13 Cvs.java
--- src/main/org/apache/tools/ant/taskdefs/Cvs.java	2001/01/03 14:18:29	1.13
+++ src/main/org/apache/tools/ant/taskdefs/Cvs.java	2001/04/13 19:03:20
@@ -56,6 +56,7 @@
 
 import org.apache.tools.ant.*;
 import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.types.Environment;
 import java.io.*;
 
 /**
@@ -96,6 +97,16 @@
     private boolean noexec = false;
 
     /**
+     * CVS port
+     */
+    private int port = 0;
+
+    /**
+     * CVS password file
+     */
+    private File passFile = null;
+
+    /**
      * the directory where the checked out files should be placed.
      */
     private File dest;
@@ -138,6 +149,22 @@
             toExecute.createArgument().setLine(pack);
         }
 
+        Environment env = new Environment();
+
+        if(port>0){
+            Environment.Variable var = new Environment.Variable();
+            var.setKey("CVS_CLIENT_PORT");
+            var.setValue(String.valueOf(port));
+            env.addVariable(var);
+        }
+
+        if(passFile!=null){
+            Environment.Variable var = new Environment.Variable();
+            var.setKey("CVS_PASSFILE");
+            var.setValue(String.valueOf(passFile));
+            env.addVariable(var);
+        }
+
         ExecuteStreamHandler streamhandler = null;
         OutputStream outputstream = null;
         OutputStream errorstream = null; 
@@ -177,6 +204,7 @@
         exe.setWorkingDirectory(dest);
 
         exe.setCommandline(toExecute.getCommandline());
+        exe.setEnvironment(env.getVariables());
         try {
             exe.execute();
         } catch (IOException e) {
@@ -203,6 +231,14 @@
         } 
 
         this.cvsRoot = root;
+    }
+
+    public void setPort(int port){
+        this.port = port;
+    }
+
+    public void setPassfile(File passFile){
+        this.passFile = passFile;
     }
 
     public void setDest(File dest) {
