<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">











<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Wink - Source Repository</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
                                                        
<link href="images/favicon.ico" rel="shortcut icon"/>
                                                        
<style type="text/css" media="all">@import
				url(css/site.css);</style>
                    </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://incubator.apache.org/wink/" id="bannerLeft">
    
                                            <img src="images/apache-incubator-wink-white.PNG" alt="" />
    
            </a>
                        <a href="http://incubator.apache.org" id="bannerRight">
    
                                    <img src="http://incubator.apache.org/images/apache-incubator-logo.png" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
            
  
    
            <div class="xleft">
        Last Published: 22-07-09 22:40
                  &nbsp;| Version: 0.1-SNAPSHOT
                          |   
          wink
                        </div>
            <div class="xright">            <a href="">Repository</a>
            |
                <a href="http://svn.apache.org/viewvc/incubator/wink/" class="externalLink">SVN</a>
            |
                <a href="http://cwiki.apache.org/confluence/display/WINK/Index" class="externalLink">Wiki</a>
            |
                <a href="https://issues.apache.org/jira/browse/WINK" class="externalLink">Jira</a>
            
  

  
    
            
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
            
  
    
                   <h5>Main</h5>
            <ul>
              
    <li class="none">
                    <a href="index.html">Introduction</a>
          </li>
              
    <li class="none">
                    <a href="downloads.html">Downloads</a>
          </li>
              
    <li class="none">
                    <a href="documentation.html">Documentation</a>
          </li>
              
    <li class="none">
                    <a href="community.html">Community</a>
          </li>
              
    <li class="none">
                    <a href="faqs.html">FAQ</a>
          </li>
          </ul>
              <h5>Project Documentation</h5>
            <ul>
              
                
              
      
            
      
            
      
            
      
            
            
              
            <li class="expanded">
                    <a href="project-info.html">Project Information</a>
                  <ul>
                  
    <li class="none">
                    <a href="issue-tracking.html">Issue Tracking</a>
          </li>
                  
    <li class="none">
                    <a href="mail-lists.html">Mailing Lists</a>
          </li>
                  
    <li class="none">
                    <a href="license.html">Project License</a>
          </li>
                  
    <li class="none">
                    <a href="team-list.html">Project Team</a>
          </li>
                  
    <li class="none">
              <strong>Source Repository</strong>
        </li>
              </ul>
        </li>
          </ul>
                                                 
                        
                        
            <a href="" title="" class="poweredBy">
                            <img alt="" src="images/white.jpg" />
            </a>
                               
  

  
    
            
  
    
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Overview</h2>
This project uses <a href="http://subversion.tigris.org/" class="externalLink">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a href="http://svnbook.red-bean.com/" class="externalLink">http://svnbook.red-bean.com/</a>.</div>
<div class="section"><h2>Web Access</h2>
<p>The following is a link to the online source repository.</p>
<div class="source"><pre><a href="http://svn.apache.org/viewvc/incubator/wink/trunk" class="externalLink">http://svn.apache.org/viewvc/incubator/wink/trunk</a></pre>
</div>
</div>
<div class="section"><h2>Anonymous access</h2>
<p>The source can be checked out anonymously from SVN with this command:</p>
<div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/incubator/wink/trunk wink</pre>
</div>
</div>
<div class="section"><h2>Developer access</h2>
<p>Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS.</p>
<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/incubator/wink/trunk wink</pre>
</div>
<p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p>
<div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre>
</div>
</div>
<div class="section"><h2>Access from behind a firewall</h2>
<p>For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:</p>
<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/incubator/wink/trunk wink</pre>
</div>
</div>
<div class="section"><h2>Access through a proxy</h2>
<p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p>
<p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p>
<p>Example: Edit the 'servers' file and add something like:</p>
<div class="source"><pre>[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128
</pre>
</div>
</div>

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2009
    
          The Apache Software Foundation
          
  

  
    
            
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
