<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
<style type="text/css">
/* <![CDATA[ */ @import "/branding/css/tigris.css"; /* ]]> */
</style>
  <script src="/branding/scripts/sc.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />

  <title>Using WinCvs to Work with Project Source Files</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="ddusingwincvs">
   <h2>Using WinCvs to Work with Project Source Files</h2>

   <p>If you are using MS Windows, you can use the graphical client called WinCvs to access a project's version controlled source code files. WinCvs looks and behaves similar to Windows Explorer. You can <a href="http://www.collab.net/developers/tools/">download WinCvs</a> on line and install it on your machine.</p>

   <div id="toc">
    <ul>
     <li><strong><a href="/nonav/servlets/HelpTOC">Help index</a></strong></li>
    </ul>

    <ul>
     <li>
      Setting up WinCvs 

      <ul>
       <li><a href="#gettingstarted">Getting Started</a></li>

       <li><a href="#settingcvsroot">Setting up cvsroot</a></li>
      </ul>
     </li>

     <li><a href="/nonav/docs/ddUsingWinCvs-01.html">Checking source files in and out of WinCvs</a></li>

     <li><a href="/nonav/docs/ddUsingWinCvs-02.html">Managing files in WinCvs</a></li>
    </ul>
   </div>

   <h3><a id="gettingstarted" name="gettingstarted">Getting Started</a></h3>

   <p>After downloading and installing WinCvs, make a new directory on your hard disk where you will store your working copy of the project's source files. A good name for this directory is the one-word name of the project files you need. If you are working on more than one project, you may wish to make a general "<em>projects cvs</em> " folder, and then create subfolders for each project by name.</p>

   <p>Select the "<em>project</em>" directory in the WinCvs program's left-hand pane. (If you do not see your newly created projects directory right away, you may need to refresh your view.) If your project directory is on a different drive not displayed in the left-hand WinCvs pane, you will need to use the <strong>Browse Location&gt;Change</strong> command under the <strong>View</strong> menu. Be sure to double click on the drive or directory you want before clicking <strong>OK</strong>.</p>

   <p><a href="http://www.wincvs.org/winhtml/wincvs11.htm#_Toc453646172">More about setting a work area</a></p>

   <h3><a id="settingcvsroot" name="settingcvsroot">Setting up CVSroot</a></h3>

   <p>First you must define the location of the WinCvs main repository, the CVSROOT. If you are only working on one project at a time, you only need to set up the cvsroot setup once, i.e. the first time you use WinCvs to access the project's source repository through this site.</p>

   <ol>
    <li>From the <strong>Admin</strong> menu and select <strong>Preferences</strong></li>

    <li>Enter the CVS root in the in the CVS Root field on the <strong>General</strong> tab. The CVS root should appear as: <i>[:pserver:username@projectname.domain.net:/cvs]</i></li>

    <li>Click on <strong>Authentication</strong> then change the drop down menu to <em>"passwd file on the cvs server"</em>.</li>

    <li>Click on the <strong>Global</strong> tab.</li>

    <li>Uncheck the "<strong>Checkout read-only</strong>" checkbox.</li>

    <li>Click on the <strong>Proxy</strong> tab.</li>

    <li>Check the "<strong>Connect using a proxy server</strong>" checkbox.</li>

    <li>Enter the host name or IP of proxy. For example: [<i>www.projectname.domain</i>]</li>

    <li>Enter port number for the proxy. For example: [<i>1080</i>]</li>
   </ol>

   <p><a href="http://www.wincvs.org/winhtml/wincvs11.htm#_Toc453646173">More about configuring WinCvs</a></p>

   <p>Now you are ready to begin <a href="/nonav/docs/ddUsingWinCvs-01.html">Checking source files in and out of WinCvs</a></p>

   <div class="courtesylinks">
    <p><a href="#toc">Top</a> | <a href="/nonav/servlets/HelpTOC">Help index</a></p>
   </div>
  </div>
 </body>
</html>


