<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>CodePlexClient Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home</link><description>CodePlexClient Wiki Rss Description</description><item><title>New Comment on "HowToContribute"</title><link>http://codeplexclient.codeplex.com/Wiki/View.aspx?title=HowToContribute&amp;ANCHOR#C13489</link><description>New Task</description><author>ManeshG</author><pubDate>Wed, 29 Jul 2009 10:56:07 GMT</pubDate><guid isPermaLink="false">New Comment on "HowToContribute" 20090729105607A</guid></item><item><title>Updated Wiki: Home</title><link>http://codeplexclient.codeplex.com/Wiki/View.aspx?title=Home&amp;version=11</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;PLEASE READ THIS FIRST&lt;/h2&gt;The CodePlex Client is not currently being maintained. The focus of the CodePlex team now is on the &lt;a href="http://www.codeplex.com/SvnBridge" class="externalLink"&gt;SvnBridge&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project (based on &lt;a href="http://www.codeplex.com/CodePlex/WorkItem/View.aspx?WorkItemId=7082" class="externalLink"&gt;overwhelming user feedback&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;). The CodePlex Client will continue to work going forward, and we'll do our best to answer any questions, but unless there is a serious security bug, please don't expect any further releases.
&lt;h2&gt;What is the CodePlex Source Control Client?&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt;&lt;br /&gt;The release ZIP file includes two executables: cpc.exe and tfc.exe.
&lt;ul&gt;&lt;li&gt;&lt;b&gt;cpc.exe&lt;/b&gt; can be used to talk to the CodePlex source control servers, and has a CodePlex project-based command line. It hides the fact that there are multiple TFS servers. It allows users to enter their CodePlex username &amp;amp; password rather than having to know their domain credentials. Finally, it supports the anonymous access features of CodePlex TFS servers for non-coordinator/developer access.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;tfc.exe&lt;/b&gt; can be used to talk to any TFS server, and has a TFS url-based command line. It supports automatic authentication with your currently logged in credentials.&lt;/li&gt;&lt;/ul&gt;
&lt;h4&gt;Common Help Topics&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Wiki/View.aspx?title=Workflow"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Wiki/View.aspx?title=ConfigFile"&gt;Configuration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h4&gt;Community contributions to projects&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Wiki/View.aspx?title=HowToContribute"&gt;How to contribute to an Open Source project on CodePlex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Wiki/View.aspx?title=HowToAcceptContributions"&gt;How to accept contributions to your CodePlex project&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h4&gt;Download&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://codeplexclient.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28838"&gt;CodePlex Client June 2009 Release&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>colint</author><pubDate>Mon, 15 Jun 2009 23:10:42 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090615111042P</guid></item><item><title>New Comment on "Installation"</title><link>http://codeplexclient.codeplex.com/Wiki/View.aspx?title=Installation&amp;ANCHOR#C12712</link><description>Release</description><author>shbang</author><pubDate>Mon, 20 Apr 2009 23:59:42 GMT</pubDate><guid isPermaLink="false">New Comment on "Installation" 20090420115942P</guid></item><item><title>New Comment on "Installation"</title><link>http://codeplexclient.codeplex.com/Wiki/View.aspx?title=Installation&amp;ANCHOR#C12454</link><description>..............
</description><author>cactus402</author><pubDate>Tue, 10 Mar 2009 07:17:52 GMT</pubDate><guid isPermaLink="false">New Comment on "Installation" 20090310071752A</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
PLEASE READ THIS FIRST
&lt;/h2&gt;The CodePlex Client is not currently being maintained. The focus of the CodePlex team now is on the &lt;a href="http://www.codeplex.com/SvnBridge" class="externalLink"&gt;SvnBridge&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project (based on &lt;a href="http://www.codeplex.com/CodePlex/WorkItem/View.aspx?WorkItemId=7082" class="externalLink"&gt;overwhelming user feedback&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;). The CodePlex Client will continue to work going forward, and we'll do our best to answer any questions, but unless there is a serious security bug, please don't expect any further releases.&lt;br /&gt;&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt; &lt;br /&gt;The release ZIP file includes two executables: cpc.exe and tfc.exe.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;cpc.exe&lt;/b&gt; can be used to talk to the CodePlex source control servers, and has a CodePlex project-based command line. It hides the fact that there are multiple TFS servers. It allows users to enter their CodePlex username &amp;amp; password rather than having to know their domain credentials. Finally, it supports the anonymous access features of CodePlex TFS servers for non-coordinator/developer access.&lt;/li&gt;&lt;li&gt;&lt;b&gt;tfc.exe&lt;/b&gt; can be used to talk to any TFS server, and has a TFS url-based command line. It supports automatic authentication with your currently logged in credentials.&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Community contributions to projects
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;amp;referringTitle=Home"&gt;How to contribute to an Open Source project on CodePlex&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToAcceptContributions&amp;amp;referringTitle=Home"&gt;How to accept contributions to your CodePlex project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4423"&gt;CodePlex Client June 2007 Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Wed, 16 Jul 2008 20:57:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080716085752P</guid></item><item><title>UPDATED WIKI: Installation</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
This CodePlex Client is distributed in binary form in a ZIP file, without an installer. It requires .NET 2.0 or later (not included).&lt;br /&gt; &lt;br /&gt;To install:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Unzip the files to a directory on your machine, such as C:\Program Files\CodePlex Client&lt;/li&gt;&lt;li&gt;Place the directory in your PATH environment variable so that it will be available from the command line.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Right click on My Computer&lt;/li&gt;&lt;li&gt;Choose Properties&lt;/li&gt;&lt;li&gt;Click the Advanced tab&lt;/li&gt;&lt;li&gt;Click the Environment Variables button&lt;/li&gt;&lt;li&gt;In &amp;quot;System Variables&amp;quot;, double click the PATH variable and add your directory to the end of the list, separated with a semi-colon (&amp;quot;;&amp;quot;). Alternatively, you may add/edit the PATH variable under &amp;quot;User Variables&amp;quot; to only affect the current user.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Close and re-start any open command prompt windows to get the new PATH value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>jwanageladmin</author><pubDate>Thu, 13 Dec 2007 01:01:07 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Installation 20071213010107A</guid></item><item><title>UPDATED WIKI: Installation</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
This &lt;a href="http://www.codeplex.com/CodePlexClient" class="externalLink"&gt;CodePlex Client &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;     is distributed in binary form in a ZIP file, without an installer. It requires .NET 2.0 or later (not included).&lt;br /&gt; &lt;br /&gt;To install:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Unzip the files to a directory on your machine, such as C:\Program Files\CodePlex Client&lt;/li&gt;&lt;li&gt;Place the directory in your PATH environment variable so that it will be available from the command line.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Right click on My Computer&lt;/li&gt;&lt;li&gt;Choose Properties&lt;/li&gt;&lt;li&gt;Click the Advanced tab&lt;/li&gt;&lt;li&gt;Click the Environment Variables button&lt;/li&gt;&lt;li&gt;In &amp;quot;System Variables&amp;quot;, double click the PATH variable and add your directory to the end of the list, separated with a semi-colon (&amp;quot;;&amp;quot;). Alternatively, you may add/edit the PATH variable under &amp;quot;User Variables&amp;quot; to only affect the current user.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Close and re-start any open command prompt windows to get the new PATH value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>jwanageladmin</author><pubDate>Thu, 13 Dec 2007 00:55:58 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Installation 20071213125558A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt; &lt;br /&gt;The release ZIP file includes two executables: cpc.exe and tfc.exe.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;cpc.exe&lt;/b&gt; can be used to talk to the CodePlex source control servers, and has a CodePlex project-based command line. It hides the fact that there are multiple TFS servers. It allows users to enter their CodePlex username &amp;amp; password rather than having to know their domain credentials. Finally, it supports the anonymous access features of CodePlex TFS servers for non-coordinator/developer access.&lt;/li&gt;&lt;li&gt;&lt;b&gt;tfc.exe&lt;/b&gt; can be used to talk to any TFS server, and has a TFS url-based command line. It supports automatic authentication with your currently logged in credentials.&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Community contributions to projects
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;amp;referringTitle=Home"&gt;How to contribute to an Open Source project on CodePlex&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToAcceptContributions&amp;amp;referringTitle=Home"&gt;How to accept contributions to your CodePlex project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4423"&gt;CodePlex Client June 2007 Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Tue, 06 Nov 2007 18:20:58 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071106062058P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt; &lt;br /&gt;The release ZIP file includes two executables: cpc.exe and tfc.exe.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;cpc.exe&lt;/b&gt; can be used to talk to the CodePlex source control servers, and has a CodePlex project-based command line. It hides the fact that there are multiple TFS servers. It allows users to enter their CodePlex username &amp;amp; password rather than having to know their domain credentials. Finally, it supports the anonymous access features of CodePlex TFS servers for non-coordinator/developer access.&lt;/li&gt;&lt;li&gt;&lt;b&gt;tfc.exe&lt;/b&gt; can be used to talk to any TFS server, and has a TFS url-based command line. It supports automatic authentication with your currently logged in credentials.&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Community contributions to projects
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;amp;referringTitle=Home"&gt;How to contribute to an Open Source project on CodePlex&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToAcceptContributions&amp;amp;referringTitle=Home"&gt;How to accept contributions to your CodePlex project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4423"&gt;CodePlex Client June 2007 Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Tue, 06 Nov 2007 18:20:30 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071106062030P</guid></item><item><title>UPDATED WIKI: Installation</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
This CodePlex Client is distributed in binary form in a ZIP file, without an installer. It requires .NET 2.0 or later (not included).&lt;br /&gt; &lt;br /&gt;To install:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Unzip the files to a directory on your machine, such as C:\Program Files\CodePlex Client&lt;/li&gt;&lt;li&gt;Place the directory in your PATH environment variable so that it will be available from the command line.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Right click on My Computer&lt;/li&gt;&lt;li&gt;Choose Properties&lt;/li&gt;&lt;li&gt;Click the Advanced tab&lt;/li&gt;&lt;li&gt;Click the Environment Variables button&lt;/li&gt;&lt;li&gt;In &amp;quot;System Variables&amp;quot;, double click the PATH variable and add your directory to the end of the list, separated with a semi-colon (&amp;quot;;&amp;quot;). Alternatively, you may add/edit the PATH variable under &amp;quot;User Variables&amp;quot; to only affect the current user.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Close and re-start any open command prompt windows to get the new PATH value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 01 Oct 2007 07:11:11 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Installation 20071001071111A</guid></item><item><title>UPDATED WIKI: Workflow</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Typical Workflow
&lt;/h1&gt;&lt;h2&gt;
Table of Contents
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#intro"&gt;Introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#listprojects"&gt;Listing Projects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#checkout"&gt;Getting Your First Copy of The Source Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#editing"&gt;Editing Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#adding"&gt;Adding Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#deleting"&gt;Deleting Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#revert"&gt;Undoing Changes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#status"&gt;Getting Status on Your Changes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#update"&gt;Updating Your Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#resolve"&gt;Resolving Conflicts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#syncup"&gt;Using Syncup&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#commit"&gt;Committing Your Changes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
&lt;a name="intro"&gt;&lt;/a&gt;Introduction
&lt;/h2&gt;Client/server source control systems generally fall into two categories:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;The first is called &amp;quot;checkout-edit-checkin&amp;quot; (or &amp;quot;server-side state&amp;quot;), where the system requires that you notify the system before you begin editing the file. &lt;b&gt;Visual Source Safe and Team Explorer work in this way.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;The second is called &amp;quot;edit-merge-commit&amp;quot; (or &amp;quot;client-side state&amp;quot;), where the system allows you to just start editing files without notifying the system ahead of time. Because you don't need to contact the server when you begin editing files, this allows you to work completely offline from the server until the time when you're ready to commit your source code to the server. &lt;b&gt;The CodePlex Client works in this way.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;In an edit-merge-commit system, many of the commands in the system do not require a connection to the server to complete. As a general rule, when you look at the help for a CodePlex Client command, if it does not offer an option for specifying your username and password, it doesn't connect to the server (and thus can be performed while offline).&lt;br /&gt; &lt;br /&gt;This is a streamlined introduction to the way you will typically use the CodePlex Client. Many of the commands shown here have many options that we do not cover in this introduction. For in-depth help on a specific command, type:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc help [commandname]
&lt;/pre&gt;&lt;h2&gt;
&lt;a name="listprojects"&gt;&lt;/a&gt;Listing Projects
&lt;/h2&gt;The &lt;b&gt;listprojects&lt;/b&gt; command can be used to list which projects in which you have commit rights. Issue the command along with your CodePlex username:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc listprojects johndoe
&lt;/pre&gt;&lt;h2&gt;
&lt;a name="checkout"&gt;&lt;/a&gt;Getting Your First Copy of The Source Code
&lt;/h2&gt;From the command prompt, make a directory to hold the source code and change to that directory:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
C:
md \MyProject
cd \MyProject
&lt;/pre&gt;Then issue the &lt;b&gt;checkout&lt;/b&gt; command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc checkout MyProjectName
&lt;/pre&gt;This will get your first copy of the source code into the current directory. If you've never used cpc before, it will prompt you for your CodePlex username and password.&lt;br /&gt; &lt;br /&gt;You should see messages similar to these:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
A    .
A    Branches
A    EULA.rtf
A    Main
A    Main\ObjectBuilder
A    Main\ObjectBuilder.sln
A    Main\ObjectBuilder\Builder.cs
A    Main\ObjectBuilder\BuilderBase.cs
A    Main\ObjectBuilder\BuilderContext.cs
A    Main\ObjectBuilder\BuilderPolicyKey.cs
A    Main\ObjectBuilder\BuilderStage.cs
[...]
&lt;/pre&gt;&lt;h2&gt;
&lt;a name="editing"&gt;&lt;/a&gt;Editing Files
&lt;/h2&gt;Since CodePlex Client is an edit-merge-commit style system, you don't need to take any explicit steps to begin working. All the files are already writable. Just go ahead and start editing!&lt;br /&gt;&lt;h2&gt;
&lt;a name="adding"&gt;&lt;/a&gt;Adding Files
&lt;/h2&gt;If you want to add items, use the &lt;b&gt;add&lt;/b&gt; command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc add filename
&lt;/pre&gt;This will schedule the add to happen during your next commit. If you change your mind before you commit, you can &lt;a href="#revert"&gt;revert&lt;/a&gt; your change.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;You do not need a connection to the server to issue this command.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;i&gt;See also: &lt;a href="#syncup"&gt;Using Syncup&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
&lt;a name="deleting"&gt;&lt;/a&gt;Deleting Files
&lt;/h2&gt;If you want to delete items, use the &lt;b&gt;delete&lt;/b&gt; command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc delete filename
&lt;/pre&gt;This will schedule the delete to happen during your next commit. Deleted files will be removed from your filesystem. If you change your mind before you commit, you can &lt;a href="#revert"&gt;revert&lt;/a&gt; your change.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;You do not need a connection to the server to issue this command.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;i&gt;See also: &lt;a href="#syncup"&gt;Using Syncup&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
&lt;a name="revert"&gt;&lt;/a&gt;Undoing Changes
&lt;/h2&gt;If you've made a change you wish to undo, use the &lt;b&gt;revert&lt;/b&gt; command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc revert filename
&lt;/pre&gt;The actions for revert depend on the item's current status. If the item has been scheduled for add, it reverts back to the unversioned state. If the item has been scheduled for delete, it reverts back to the unmodified state (and the file is restored). If the file has been modified, it reverts back to the unmodified state (and the original file contents are restored).&lt;br /&gt; &lt;br /&gt;&lt;i&gt;You do not need a connection to the server to issue this command.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
&lt;a name="status"&gt;&lt;/a&gt;Getting Status on Your Changes
&lt;/h2&gt;The &lt;b&gt;status&lt;/b&gt; command will tell you the status of changes on your system:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc status
&lt;/pre&gt;You will see output similar to this:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
A    .tfs-ignore
M    Main\ObjectBuilder\Builder.cs
?    Main\ObjectBuilder\Builder.cs.new
A    Samples\DependencyContainer
!    Samples\DependencyContainer\DepedencyContainer
?    Samples\DependencyContainer\DependencyContainer
M    Samples\DependencyContainer\DependencyContainer.sln
?    Samples\DependencyContainer\DependencyContainer.Tests
?    Samples\DependencyContainer\Samples
&lt;/pre&gt;The letter describes the state of the item. For a list of the status codes, type &amp;quot;cpc help status&amp;quot;.&lt;br /&gt; &lt;br /&gt;You can also get a GUI version of the status command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc status /gui
&lt;/pre&gt;Which will show a window similar to this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/CodePlexClient/Project/FileDownload.aspx?DownloadId=11976" alt="status-window.png" /&gt;&lt;br /&gt; &lt;br /&gt;From this status window, you can perform CodePlex Client operations by right clicking on items in the list. Additionally, you can double click a file in the &lt;b&gt;Modified&lt;/b&gt; state to get a diff of that file, and you can double click a file in the &lt;b&gt;Conflicted&lt;/b&gt; state to perform a merge of that file. For diff and merge to work, you must have a diff/merge tool installed and properly configured. For more information, see &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=CpcConfigFile&amp;amp;referringTitle=Workflow"&gt;the description of the .exe.config file&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;You do not need a connection to the server to issue this command.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
&lt;a name="update"&gt;&lt;/a&gt;Updating Your Code
&lt;/h2&gt;The &lt;b&gt;update&lt;/b&gt; command will update your copy of the source code to the latest version stored on the server:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc update
&lt;/pre&gt;This command will show status as it updates your local copies of files to be in sync with the server versions. For a list of the status codes provided by update, type &amp;quot;cpc help update&amp;quot;.&lt;br /&gt;&lt;h2&gt;
&lt;a name="resolve"&gt;&lt;/a&gt;Resolving Conflicts
&lt;/h2&gt;When you update a file that you have edited, it's possible that someone else may have committed a change to that file since your last update.  When this happens you may end up in a conflicted state. This means the system could not automatically merge your changes with the other changes on the server.&lt;br /&gt; &lt;br /&gt;The best way to resolve conflicts is to use the status GUI (&lt;b&gt;cpc status /gui&lt;/b&gt;) and double click your conflicted file(s) to run your &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=CpcConfigFile&amp;amp;referringTitle=Workflow"&gt;configured&lt;/a&gt; merge tool. If you save your merge changes, the system will automatically prompt you to mark the file as resolved when you're finished.&lt;br /&gt; &lt;br /&gt;If you choose to merge the files by hand, you can use the &lt;b&gt;resolve&lt;/b&gt; command to mark a file as resolved:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc resolve filename
&lt;/pre&gt;&lt;i&gt;Note: You will not be able to commit when you're in the conflicted state. Use the status GUI (or the resolve command) to help you resolve your conflicts.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;i&gt;You do not need a connection to the server to issue this command.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
&lt;a name="syncup"&gt;&lt;/a&gt;Using Syncup
&lt;/h2&gt;When working, you will typically want to be able to edit, add, and delete files without worrying about running cpc commands to make sure the files are properly scheduled for add or delete. The &lt;b&gt;syncup&lt;/b&gt; command will prepare you for a commit operation by figuring out what add and delete operations should be performed.&lt;br /&gt; &lt;br /&gt;It does this in three phases:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Delete:&lt;/b&gt; If an item was previously under source control, but has been deleted from the file system, the item is scheduled to be deleted from source control.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Update:&lt;/b&gt; An update command is run to get your files up to date.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Add:&lt;/b&gt; If an item exists on the file system, but is not under source control, the item is scheduled to be added to source control. You will be prompted before adding each item.&lt;/li&gt;
&lt;/ol&gt;The syncup process uses an ignore file which is described in the &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Workflow"&gt;the description of the .exe.config file&lt;/a&gt;.&lt;br /&gt;&lt;h2&gt;
&lt;a name="commit"&gt;&lt;/a&gt;Committing Your Changes
&lt;/h2&gt;When you're ready to send your source code into the server, use the &lt;b&gt;commit&lt;/b&gt; command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc commit
&lt;/pre&gt;Committing requires a commit message. If you don't specify the commit message from the command line (using the /message option), then cpc will open notepad with a temporary text file for you to provide your commit message (it will also show you a list of files that will be committed). For more information, see &lt;b&gt;cpc help commit&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;A commit GUI is also available, which can be launched with the /gui switch:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc commit /gui
&lt;/pre&gt;Which will show a window similar to this:&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/CodePlexClient/Project/FileDownload.aspx?DownloadId=11975" alt="commit-window.png" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 03 Sep 2007 11:54:20 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Workflow 20070903115420A</guid></item><item><title>UPDATED WIKI: ConfigFile</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;i&gt;Unless otherwise noted, all settings here apply to both cpc.exe.config and tfc.exe.config. If a default value is not specified, then there is no default value.&lt;/i&gt;&lt;br /&gt;&lt;h4&gt;
Creating the config file
&lt;/h4&gt;To create the config file, make a new file named cpc.exe.config (of tfc.exe.config, for tfc.exe) in the same directory as cpc.exe (or tfc.exe). It should contain the following text:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;configuration&amp;gt;
    &amp;lt;appSettings&amp;gt;
        &amp;lt;add key='...' value='...' /&amp;gt;
        &amp;lt;add key='...' value='...' /&amp;gt;
    &amp;lt;/appSettings&amp;gt;
&amp;lt;/configuration&amp;gt;
&lt;/pre&gt;&lt;h4&gt;
Environmental Overrides
&lt;/h4&gt;For each configuration file element, there is a corresponding environment variable that can also be set. When the environment variable is set, it takes precedence over the configuration file element. This allows multiple users on the same box to set and override any of the default configuration values.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Note: environmental overrides were introduced in build 10127. Previous builds do not support this feature.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
Table of Contents
&lt;/h2&gt;&lt;h4&gt;
Commonly Set Options
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#DefaultToGuiForCommit"&gt;DefaultToGuiForCommit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DefaultToGuiForStatus"&gt;DefaultToGuiForStatus&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;DiffArgs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;DiffTool&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#Editor"&gt;Editor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#IgnoreFile"&gt;IgnoreFile&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;MergeArgs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;MergeTool&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Rarely Set Options
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#AnonymousUsername"&gt;AnonymousUsername&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#CodePlexWebServiceUrl"&gt;CodePlexWebServiceUrl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#ForceBasicAuth"&gt;ForceBasicAuth&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#TryDefaultCredentials"&gt;TryDefaultCredentials&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DefaultToGuiForCommit"&gt;&lt;/a&gt;DefaultToGuiForCommit
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcDefaultToGuiForCommit&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDefaultToGuiForCommit&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;false&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Set this value to &lt;i&gt;true&lt;/i&gt; and the &amp;quot;commit&amp;quot; command will use the GUI by default.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DefaultToGuiForCommit' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DefaultToGuiForStatus"&gt;&lt;/a&gt;DefaultToGuiForStatus
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcDefaultToGuiForStatus&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDefaultToGuiForStatus&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;false&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Set this value to &lt;i&gt;true&lt;/i&gt; and the &amp;quot;status&amp;quot; command will use the GUI by default.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DefaultToGuiForStatus' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DiffAndMerge"&gt;&lt;/a&gt;Diff and Merge tool settings
&lt;/h2&gt;&lt;i&gt;Environmental overrides: &lt;b&gt;CpcDiffTool&lt;/b&gt;, &lt;b&gt;CpcDiffArgs&lt;/b&gt;, &lt;b&gt;CpcMergeTool&lt;/b&gt;, &lt;b&gt;CpcMergeArgs&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDiffTool&lt;/b&gt;, &lt;b&gt;TfcDiffArgs&lt;/b&gt;, &lt;b&gt;TfcMergeTool&lt;/b&gt;, &lt;b&gt;TfcMergeArgs&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;DiffTool and DiffArgs allows you to configure a graphical diff tool to be used for &lt;b&gt;status /gui&lt;/b&gt; and &lt;b&gt;commit /gui&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;MergeTool and MergeArgs allows you to configure a graphical merge tool to be used for &lt;b&gt;status /gui&lt;/b&gt; and &lt;b&gt;commit /gui&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;DiffTool and MergeTool should point to the executable. DiffArgs and MergeArgs are the arguments passed to the executable. The following values are available for the arguments:&lt;br /&gt; &lt;br /&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Token &lt;/th&gt;&lt;th&gt; Meaning &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {basepath} &lt;/td&gt;&lt;td&gt; Full path to base filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mypath} &lt;/td&gt;&lt;td&gt; Full path to my changes &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {theirpath} &lt;/td&gt;&lt;td&gt; Full path to their changes (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mergepath} &lt;/td&gt;&lt;td&gt; full path for merge output (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {basename} &lt;/td&gt;&lt;td&gt; descriptive text of base filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {myname} &lt;/td&gt;&lt;td&gt; descriptive text of my filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {theirname} &lt;/td&gt;&lt;td&gt; descriptive text of their filename (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mergename} &lt;/td&gt;&lt;td&gt; descriptive text of merge filename (merge only) &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;If DiffTool or DiffArgs is omitted, then diffing from the status and commit GUIs is not supported.&lt;br /&gt;If MergeTool or MergeArgs is omitted, then merging from the status and commit GUIs is not supported.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample for Araxis Merge:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\compare.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/wait /2 /title1:{basename} /title2:{myname} {basepath} {mypath}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\compare.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/wait /swap /a3 /3 /title1:{theirname} /title2:{myname} /title3:{basename}
    {theirpath} {mypath} {basepath} {mergepath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for Beyond Compare 2.x: &lt;i&gt;(only supports 2-way merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\bc2.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath} /title1={basename} /title2={myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\bc2.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='{basepath} {mypath} /title1={basename} /title2={myname}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for KDiff3:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\kdiff3.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} --fname {basename} {mypath} --fname {myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\kdiff3.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='{basepath} --fname {basename} {mypath} --fname {myname} {theirpath}
    --fname {theirname} -o {mergepath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for &lt;a href="http://www.sourcegear.com/diffmerge/index.html" class="externalLink"&gt;SourceGear DiffMerge&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Program Files\SourceGear\DiffMerge\DiffMerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/t1={basename} /t2={myname} {basepath} {mypath}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Program Files\SourceGear\DiffMerge\DiffMerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/m /t1={theirname} /t2={myname} /t3={basename} {theirpath} {mypath} {basepath} /r={mergepath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for TFS Team Explorer:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\diffmerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath} {basename} {myname} /ignorespace'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\diffmerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/merge {theirpath} {mypath} {basepath} {mergepath} {theirname} {myname}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for TortoiseMerge:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\TortoiseMerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/base:{basepath} /mine:{mypath} /basename:{basename} /minename:{myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\TortoiseMerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/base:{basepath} /mine:{mypath} /theirs:{theirpath} /basename:{basename}
    /minename:{myname} /theirsname:{theirname} /merged:{mergepath} /mergedname:{mergename}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for WinDiff: &lt;i&gt;(does not support merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\WinDiff.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for WinMerge: &lt;i&gt;(only supports 2-way merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\WinMerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/ub /dl {basename} /dr {myname} {basepath} {mypath}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\WinMerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/ub /dl {theirname} /dr {myname} {theirpath} {mypath} {mergepath}'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="Editor"&gt;&lt;/a&gt;Editor
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcEditor&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcEditor&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;notepad.exe&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;The Editor value specifies the text editor to be used for editing the commit message, when running &lt;b&gt;commit&lt;/b&gt; without the /gui option.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Note: If an editor is not configured via the standard environment variables or the configuration file, the &lt;b&gt;EDITOR&lt;/b&gt; and &lt;b&gt;VISUAL&lt;/b&gt; environment variables are consulted before defaulting to notepad.exe.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='Editor' value='notepad.exe'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="IgnoreFile"&gt;&lt;/a&gt;IgnoreFile
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcIgnoreFile&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;.tfs-ignore&lt;/b&gt; (both) (default added in build 10144)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;IgnoreFile specifies the file name where ignore information is gathered from.&lt;br /&gt; &lt;br /&gt;Ignore files are XML files which describe which files should be ignored during an implicit add operation (for both &amp;quot;add&amp;quot; of a directory with /recursive and &amp;quot;syncup&amp;quot;). They support recursion. They should be checked into your source tree so they are shared among the all the developers.&lt;br /&gt; &lt;br /&gt;An ignore file can list ignore delete and add operations. Deletes are used to remove ignores from parent directories. Add operations can be local-only or recursive.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample ignore file:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;ignore xmlns='http://www.codeplex.com/schema/IgnoreListSchema-1.0.xsd'&amp;gt;
  &amp;lt;delete&amp;gt;foo&amp;lt;/delete&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;bar&amp;lt;/add&amp;gt;
  &amp;lt;add&amp;gt;baz&amp;lt;/add&amp;gt;
&amp;lt;/ignore&amp;gt;
&lt;/pre&gt;Delete operations must be listed before add operations. Add operations by default are local-only unless overridden with &lt;i&gt;recursive='true'&lt;/i&gt;. Wildcards are supported (* and ?).&lt;br /&gt; &lt;br /&gt;We use a .tfs-ignore file like this in the root of our project:&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample ignore file:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;ignore xmlns='http://www.codeplex.com/schema/IgnoreListSchema-1.0.xsd'&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;bin&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;obj&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;_Resharper*&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.resharper&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.suo&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.user&amp;lt;/add&amp;gt;
  &amp;lt;add&amp;gt;*.xml&amp;lt;/add&amp;gt;
&amp;lt;/ignore&amp;gt;
&lt;/pre&gt;See IgnoreFileScheme-1.0.xsd for the schema of the XML file.&lt;br /&gt; &lt;br /&gt;If IgnoreFile is omitted, ignore files are not supported.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='IgnoreFile' value='.tfs-ignore'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="AnonymousUsername"&gt;&lt;/a&gt;AnonymousUsername
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcAnonymousUsername&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;anonymous&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;All read-only operations are initially attempted with this username and an empty password, to support anonymous access to the CodePlex source control repository.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='AnonymousUsername' value='anonymous'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="CodePlexWebServiceUrl"&gt;&lt;/a&gt;CodePlexWebServiceUrl
&lt;/h2&gt;&lt;i&gt;Environment override: &lt;b&gt;CpcCodePlexWebServiceUrl&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;http://www.codeplex.com/services/ProjectInfoService.asmx&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Points to the CodePlex project information web service, which is used to translate project names into TFS server information, as well as translate CodePlex usernames into TFS domain usernames.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='CodePlexWebServiceUrl' value='http://www.codeplex.com/services/ProjectInfoService.asmx'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="ForceBasicAuth"&gt;&lt;/a&gt;ForceBasicAuth
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcForceBasicAuth&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcForceBasicAuth&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;true&lt;/b&gt; (cpc.exe), &lt;b&gt;false&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Setting to 'true' causes authentication to always happen with basic authentication. This is necessary for CodePlex anonymous user support. This is a safe setting for the CodePlex TFS servers, because they require SSL.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Warning: Setting this to 'true' on tfc.exe could cause your credentials to be sent in the clear over the Internet, so use this setting with extreme caution!&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='ForceBasicAuth' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="TryDefaultCredentials"&gt;&lt;/a&gt;TryDefaultCredentials
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;TfcTryDefaultCredentials&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;true&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;When set to 'true', the logged in user credentials are tried when there are no cached credentials for the server. This allows tfc.exe to work against intranet TFS servers with domain authentication without prompting for credentials. If set for 'false', then the user is prompted for credentials without trying the logged in user credentials.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='TryDefaultCredentials' value='true'/&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 03 Sep 2007 11:50:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: ConfigFile 20070903115055A</guid></item><item><title>UPDATED WIKI: HowToContribute</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
How to contribute to an Open Source project on CodePlex
&lt;/h1&gt;&lt;h2&gt;
Who is this for?
&lt;/h2&gt; &lt;br /&gt;This document is for people who want to contribute patches to an Open Source project on CodePlex, but are not developers or coordinators on the project.&lt;br /&gt;&lt;h2&gt;
Get the CodePlex Client
&lt;/h2&gt; &lt;br /&gt;Download CodePlex Client (&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=HowToContribute"&gt;installation instructions&lt;/a&gt;).&lt;br /&gt;&lt;h2&gt;
Install a diff/merge tool
&lt;/h2&gt; &lt;br /&gt;You will need to install a diff/merge tool in order to be able to validate your changes. Our &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=HowToContribute&amp;amp;ANCHOR#DiffAndMerge"&gt;configuration&lt;/a&gt; information contains pre-canned configuration items for many free (and a couple for-pay) diff/merge tools. I would strongly recommend you choose a tool which does 3-way merges. I personally use and love TortoiseMerge from TortoiseSVN. If you don't know which one to choose, you might start with that one.&lt;br /&gt;&lt;h2&gt;
Get the source code
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Open a command prompt (Start -&amp;gt; Run -&amp;gt; cmd.exe)&lt;/li&gt;&lt;li&gt;Create a directory for the source code&lt;/li&gt;&lt;li&gt;Run the &lt;b&gt;checkout&lt;/b&gt; command&lt;/li&gt;
&lt;/ol&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
C:\&amp;gt; md MyProjectSrc
C:\&amp;gt; cd MyProjectSrc
C:\MyProjectSrc&amp;gt; cpc checkout MyProject
&lt;/pre&gt;The checkout command requires a CodePlex project name. You can find the project name by looking at the project's URL. For example, the ObjectBuilder Dependency Injection project has this URL:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
http://www.codeplex.com/ObjectBuilder
&lt;/pre&gt;The project name is ObjectBuilder. If you only need a part of the source, you can specify that with the :/ syntax, like:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc checkout MyProject:/trunk/src
&lt;/pre&gt;&lt;h2&gt;
Build the project
&lt;/h2&gt; &lt;br /&gt;How you build the project will depend on what type of project it is. For projects that are done with Visual Studio, for example, you will open the .sln file and build it inside of Visual Studio. Ensuring the project builds okay is critical before you contribute.&lt;br /&gt; &lt;br /&gt;If you can't get the project to build, ask the project coordinators/developers what's necessary to get it to build.&lt;br /&gt;&lt;h2&gt;
What are you going to work on?
&lt;/h2&gt; &lt;br /&gt;Sometimes you want to work on a cool new feature. Sometimes you want to fix an annoying bug. All CodePlex projects have an issue tracker where bugs and features are stored. For example, here is the issue tracker for the CodePlex Client: &lt;a href="http://www.codeplex.com/CodePlexClient/WorkItem/List.aspx" class="externalLink"&gt;http://www.codeplex.com/CodePlexClient/WorkItem/List.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Even if you want to work on something that's not in the issue tracker, you may want to open a new issue tracker item to describe the work you're doing.&lt;br /&gt; &lt;br /&gt;When working on a bug fix, it's wise to make sure you have a clean and new copy of the source code. That means you should use the &amp;quot;cpc update&amp;quot; command to get the newest source, and &amp;quot;cpc status&amp;quot; to ensure that you don't have any pending changes that aren't appropriate for the bug in question. If necessary, you may even want to delete the source code directory and re-check it out.&lt;br /&gt; &lt;br /&gt;As a helpful hint, when fixing a bug and submitting it via a patch, it's considered &amp;quot;good form&amp;quot; to make as few changes as possible to fix the bug. Just as important, respect the coding style of the original code (tabs vs. spaces, curly brace placement, etc.). Reformating the files into your own style will just annoy the developers on the project, I promise you. :)&lt;br /&gt; &lt;br /&gt;Now... fix the bug!&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Time passes...&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
Making the patch
&lt;/h2&gt; &lt;br /&gt;After you've fixed everything up, use the &amp;quot;cpc syncup&amp;quot; command to find your deleted and added files, and make sure you're up to date with the newest copy of the source code. Then run the status GUI with &amp;quot;cpc status /gui&amp;quot;. This will show you all your pending adds, deletes, and modifications. You can double click on any file that's in the &amp;quot;Modified&amp;quot; state, and it will launch your diff tool. If you find files in the &amp;quot;Conflicted&amp;quot; state, that means they have been touched by both you and someone else; double clicking on these will launch the merge tool which will allow you to fix the conflict.&lt;br /&gt; &lt;br /&gt;When you are happy with the state of your changes, run the makepatch command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc makepatch C:\MyPatch.xml
&lt;/pre&gt; &lt;br /&gt;This will write a patch file which describes all the changes you've made.&lt;br /&gt;&lt;h2&gt;
Uploading the patch
&lt;/h2&gt; &lt;br /&gt;Visit the project page, click on the Source Control tab, then click on the Upload Patch link. In the Description field, fill out a description of the work that was done in the patch. Use the &amp;quot;Browse&amp;quot; button to find the patch XML file you just created. If the patch fixed any work items, be sure to enter their number(s) and add them before submitting the patch.&lt;br /&gt; &lt;br /&gt;Sit back and collect your kudos. :)&lt;br /&gt;&lt;h2&gt;
Notes
&lt;/h2&gt; &lt;br /&gt;&lt;i&gt;This document borrows from Scott Hanselman's excellent blog post &lt;a href="http://www.hanselman.com/blog/ExampleHowToContributeAPatchToAnOpenSourceProjectLikeDasBlog.aspx" class="externalLink"&gt;How To Contribute A Patch To An Open Source Project&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; which is licensed under &lt;a href="http://creativecommons.org/licenses/by/2.0/" class="externalLink"&gt;Creative Commons&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 22:17:30 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: HowToContribute 20070604101730P</guid></item><item><title>UPDATED WIKI: HowToAcceptContributions</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToAcceptContributions&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
How to accept contributions to your CodePlex project
&lt;/h1&gt;&lt;h2&gt;
Who is this for?
&lt;/h2&gt; &lt;br /&gt;This document is for developers/coordinators on a CodePlex project that wish to accept and apply patches from the community.&lt;br /&gt;&lt;h2&gt;
Get the CodePlex Client
&lt;/h2&gt; &lt;br /&gt;Download CodePlex Client (&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=HowToAcceptContributions"&gt;installation instructions&lt;/a&gt;).&lt;br /&gt;&lt;h2&gt;
Install a diff/merge tool
&lt;/h2&gt; &lt;br /&gt;You will need to install a diff/merge tool in order to be able to validate your changes. Our &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=HowToAcceptContributions&amp;amp;ANCHOR#DiffAndMerge"&gt;configuration&lt;/a&gt; information contains pre-canned configuration items for many free (and a couple for-pay) diff/merge tools. I would strongly recommend you choose a tool which does 3-way merges. I personally use and love TortoiseMerge from TortoiseSVN. If you don't know which one to choose, you might start with that one.&lt;br /&gt;&lt;h2&gt;
Get a clean copy of the source code and apply the patch
&lt;/h2&gt; &lt;br /&gt;You will want to apply the patch to a clean copy of the source code, rather than your current working area. Download a copy of the patch file from your project Source Code tab to your local disk (f.e., to C:\Patch.xml).&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Make a new directory&lt;/li&gt;&lt;li&gt;Checkout a clean copy of the source code&lt;/li&gt;&lt;li&gt;Apply the patch&lt;/li&gt;
&lt;/ol&gt;&lt;pre&gt;
C:\&amp;gt; md MyProjectSrc
C:\&amp;gt; cd MyProjectSrc
C:\MyProjectSrc&amp;gt; cpc checkout MyProject
[...checkout output...]
C:\MyProjectSrc&amp;gt; cpc applypatch C:\Patch.xml
[...patch output...]
&lt;/pre&gt;&lt;h2&gt;
Inspecting the patch results
&lt;/h2&gt; &lt;br /&gt;The apply patch process will roll back individual files to the version that the person patched from, and then apply their differences. Note that these changes files remain the older version, so that it's easy to see the exact changes the user made. You can use &amp;quot;cpc status /gui&amp;quot; to view the changes using your installed GUI diff tool.&lt;br /&gt; &lt;br /&gt;However, the codebase may have progressed since the patch was submitted, so they may not build properly any more. After you've inspected the patch results, and want to see how well they work, you should run &amp;quot;cpc syncup&amp;quot; to get all the source back to current versions. This may cause conflicts for files that have revved since the patch, so after running syncup, you will want to run &amp;quot;cpc status /gui&amp;quot; again to examine and resolve the conflicts with your installed GUI merge tool.&lt;br /&gt;&lt;h2&gt;
Happy with the patch?
&lt;/h2&gt; &lt;br /&gt;If you're happy with the patch, you will want to take the following steps:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ensure the patch is fully functional, by testing your application and/or running your unit tests.&lt;/li&gt;&lt;li&gt;Commit the patch using &amp;quot;cpc commit&amp;quot;.&lt;/li&gt;&lt;li&gt;Mark the patch as Accepted on the Source Control tab of your project.&lt;/li&gt;&lt;li&gt;If the patch resolved any issues, visit those issues on the Issue Tracker for your project and mark them as fixed or closed as appropriate.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
Not happy with the patch?
&lt;/h2&gt; &lt;br /&gt;If you've decided to reject the patch, you will want to take the following steps:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Mark the patch as Declined on the Source Control tab of your project.&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;Note: Once a patch has been declined, only project coordinators/developers will be able to download it.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
Cleaning up
&lt;/h2&gt; &lt;br /&gt;Once you're done, you can delete the temporary folder you made for your source code.&lt;br /&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 20:14:59 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: HowToAcceptContributions 20070604081459P</guid></item><item><title>UPDATED WIKI: HowToContribute</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
How to contribute to an Open Source project on CodePlex
&lt;/h1&gt;&lt;h2&gt;
Who is this for?
&lt;/h2&gt; &lt;br /&gt;This document is for people who want to contribute patches to an Open Source project on CodePlex, but are not developers or coordinators on the project.&lt;br /&gt;&lt;h2&gt;
Get the CodePlex Client
&lt;/h2&gt; &lt;br /&gt;Download CodePlex Client (&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=HowToContribute"&gt;installation instructions&lt;/a&gt;).&lt;br /&gt;&lt;h2&gt;
Install a diff/merge tool
&lt;/h2&gt; &lt;br /&gt;You will need to install a diff/merge tool in order to be able to validate your changes. Our &lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=HowToContribute&amp;amp;ANCHOR#DiffAndMerge"&gt;configuration&lt;/a&gt; information contains pre-canned configuration items for many free (and a couple for-pay) diff/merge tools. I would strongly recommend you choose a tool which does 3-way merges. I personally use and love TortoiseMerge from TortoiseSVN. If you don't know which one to choose, you might start with that one.&lt;br /&gt;&lt;h2&gt;
Get the source code
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Open a command prompt (Start -&amp;gt; Run -&amp;gt; cmd.exe)&lt;/li&gt;&lt;li&gt;Create a directory for the source code&lt;/li&gt;&lt;li&gt;Run the &lt;b&gt;checkout&lt;/b&gt; command&lt;/li&gt;
&lt;/ol&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
C:\&amp;gt; md MyProjectSrc
C:\&amp;gt; cd MyProjectSrc
C:\MyProjectSrc&amp;gt; cpc checkout MyProject
&lt;/pre&gt;The checkout command requires a CodePlex project name. You can find the project name by looking at the project's URL. For example, the ObjectBuilder Dependency Injection project has this URL:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
http://www.codeplex.com/ObjectBuilder
&lt;/pre&gt;The project name is ObjectBuilder. If you only need a part of the source, you can specify that with the :/ syntax, like:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc checkout MyProject:/trunk/src
&lt;/pre&gt;&lt;h2&gt;
Build the project
&lt;/h2&gt; &lt;br /&gt;How you build the project will depend on what type of project it is. For projects that are done with Visual Studio, for example, you will open the .sln file and build it inside of Visual Studio. Ensuring the project builds okay is critical before you contribute.&lt;br /&gt; &lt;br /&gt;If you can't get the project to build, ask the project coordinators/developers what's necessary to get it to build.&lt;br /&gt;&lt;h2&gt;
What are you going to work on?
&lt;/h2&gt; &lt;br /&gt;Sometimes you want to work on a cool new feature. Sometimes you want to fix an annoying bug. All CodePlex projects have an issue tracker where bugs and features are stored. For example, here is the issue tracker for the CodePlex Client: &lt;a href="http://www.codeplex.com/CodePlexClient/WorkItem/List.aspx" class="externalLink"&gt;http://www.codeplex.com/CodePlexClient/WorkItem/List.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Even if you want to work on something that's not in the issue tracker, you may want to open a new issue tracker item to describe the work you're doing.&lt;br /&gt; &lt;br /&gt;When working on a bug fix, it's wise to make sure you have a clean and new copy of the source code. That means you should use the &amp;quot;cpc update&amp;quot; command to get the newest source, and &amp;quot;cpc status&amp;quot; to ensure that you don't have any pending changes that aren't appropriate for the bug in question. If necessary, you may even want to delete the source code directory and re-check it out.&lt;br /&gt; &lt;br /&gt;As a helpful hint, when fixing a bug and submitting it via a patch, it's considered &amp;quot;good form&amp;quot; to make as few changes as possible to fix the bug. Just as important, respect the coding style of the original code (tabs vs. spaces, curly brace placement, etc.). Reformating the files into your own style will just annoy the developers on the project, I promise you. :)&lt;br /&gt; &lt;br /&gt;Now... fix the bug!&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Time passes...&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
Making the patch
&lt;/h2&gt; &lt;br /&gt;After you've fixed everything up, use the &amp;quot;cpc syncup&amp;quot; command to find your deleted and added files, and make sure you're up to date with the newest copy of the source code. Then run the status GUI with &amp;quot;cpc status /gui&amp;quot;. This will show you all your pending adds, deletes, and modifications. You can double click on any file that's in the &amp;quot;Modified&amp;quot; state, and it will launch your diff tool. If you find files in the &amp;quot;Conflicted&amp;quot; state, that means they have been touched by both you and someone else; double clicking on these will launch the merge tool which will allow you to fix the conflict.&lt;br /&gt; &lt;br /&gt;When you are happy with the state of your changes, run the makepatch command:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
cpc makepatch C:\MyPatch.xml
&lt;/pre&gt; &lt;br /&gt;This will write a patch file which describes all the changes you've made.&lt;br /&gt;&lt;h2&gt;
Uploading the patch
&lt;/h2&gt; &lt;br /&gt;Visit the project page, click on the Source Control tab, then click on the Upload Patch link. In the Description field, fill out a description of the work that was done in the patch. Use the &amp;quot;Browse&amp;quot; button to find the patch XML file you just created. If the patch fixed any work items, be sure to enter their number(s) and add them before submitting the patch.&lt;br /&gt; &lt;br /&gt;Sit back and collect your kudos. :)&lt;br /&gt;&lt;h2&gt;
Notes
&lt;/h2&gt; &lt;br /&gt;_This document borrows from Scott Hanselman's excellent blog post &lt;a href="http://www.hanselman.com/blog/ExampleHowToContributeAPatchToAnOpenSourceProjectLikeDasBlog.aspx" class="externalLink"&gt;How To Contribute A Patch To An Open Source Project&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; which is licensed under &lt;a href="http://creativecommons.org/licenses/by/2.0/" class="externalLink"&gt;Creative Commons&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 20:13:56 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: HowToContribute 20070604081356P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Community contributions to projects
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToContribute&amp;amp;referringTitle=Home"&gt;How to contribute to an Open Source project on CodePlex&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=HowToAcceptContributions&amp;amp;referringTitle=Home"&gt;How to accept contributions to your CodePlex project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4423"&gt;CodePlex Client June 2007 Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 20:13:32 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20070604081332P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4423"&gt;CodePlex Client June 2007 Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 17:55:08 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20070604055508P</guid></item><item><title>UPDATED WIKI: Installation</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
This CodePlex Client is distributed in binary form in a ZIP file, without an installer.&lt;br /&gt; &lt;br /&gt;To install:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Unzip the files to a directory on your machine, such as C:\Program Files\CodePlex Client&lt;/li&gt;&lt;li&gt;Place the directory in your PATH environment variable so that it will be available from the command line.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Right click on My Computer&lt;/li&gt;&lt;li&gt;Choose Properties&lt;/li&gt;&lt;li&gt;Click the Advanced tab&lt;/li&gt;&lt;li&gt;Click the Environment Variables button&lt;/li&gt;&lt;li&gt;In &amp;quot;System Variables&amp;quot;, double click the PATH variable and add your directory to the end of the list, separated with a semi-colon (&amp;quot;;&amp;quot;). Alternatively, you may add/edit the PATH variable under &amp;quot;User Variables&amp;quot; to only affect the current user.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Close and re-start any open command prompt windows to get the new PATH value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 17:54:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Installation 20070604055431P</guid></item><item><title>UPDATED WIKI: ConfigFile</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;i&gt;Unless otherwise noted, all settings here apply to both cpc.exe.config and tfc.exe.config. If a default value is not specified, then there is no default value.&lt;/i&gt;&lt;br /&gt;&lt;h4&gt;
Creating the config file
&lt;/h4&gt;To create the config file, make a new file named cpc.exe.config (of tfc.exe.config, for tfc.exe) in the same directory as cpc.exe (or tfc.exe). It should contain the following text:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;configuration&amp;gt;
    &amp;lt;appSettings&amp;gt;
        &amp;lt;add key='...' value='...' /&amp;gt;
        &amp;lt;add key='...' value='...' /&amp;gt;
    &amp;lt;/appSettings&amp;gt;
&amp;lt;/configuration&amp;gt;
&lt;/pre&gt;&lt;h4&gt;
Environmental Overrides
&lt;/h4&gt;For each configuration file element, there is a corresponding environment variable that can also be set. When the environment variable is set, it takes precedence over the configuration file element. This allows multiple users on the same box to set and override any of the default configuration values.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Note: environmental overrides were introduced in build 10127. Previous builds do not support this feature.&lt;/i&gt;&lt;br /&gt;&lt;h2&gt;
Table of Contents
&lt;/h2&gt;&lt;h4&gt;
Commonly Set Options
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#DefaultToGuiForCommit"&gt;DefaultToGuiForCommit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DefaultToGuiForStatus"&gt;DefaultToGuiForStatus&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;DiffArgs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;DiffTool&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#Editor"&gt;Editor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#IgnoreFile"&gt;IgnoreFile&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;MergeArgs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#DiffAndMerge"&gt;MergeTool&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Rarely Set Options
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#AnonymousUsername"&gt;AnonymousUsername&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#CodePlexWebServiceUrl"&gt;CodePlexWebServiceUrl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#ForceBasicAuth"&gt;ForceBasicAuth&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#TryDefaultCredentials"&gt;TryDefaultCredentials&lt;/a&gt; &lt;i&gt;(added in build 10127)&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DefaultToGuiForCommit"&gt;&lt;/a&gt;DefaultToGuiForCommit
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcDefaultToGuiForCommit&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDefaultToGuiForCommit&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;false&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Set this value to &lt;i&gt;true&lt;/i&gt; and the &amp;quot;commit&amp;quot; command will use the GUI by default.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DefaultToGuiForCommit' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DefaultToGuiForStatus"&gt;&lt;/a&gt;DefaultToGuiForStatus
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcDefaultToGuiForStatus&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDefaultToGuiForStatus&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;false&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Set this value to &lt;i&gt;true&lt;/i&gt; and the &amp;quot;status&amp;quot; command will use the GUI by default.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DefaultToGuiForStatus' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="DiffAndMerge"&gt;&lt;/a&gt;Diff and Merge tool settings
&lt;/h2&gt;&lt;i&gt;Environmental overrides: &lt;b&gt;CpcDiffTool&lt;/b&gt;, &lt;b&gt;CpcDiffArgs&lt;/b&gt;, &lt;b&gt;CpcMergeTool&lt;/b&gt;, &lt;b&gt;CpcMergeArgs&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcDiffTool&lt;/b&gt;, &lt;b&gt;TfcDiffArgs&lt;/b&gt;, &lt;b&gt;TfcMergeTool&lt;/b&gt;, &lt;b&gt;TfcMergeArgs&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;DiffTool and DiffArgs allows you to configure a graphical diff tool to be used for &lt;b&gt;status /gui&lt;/b&gt; and &lt;b&gt;commit /gui&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;MergeTool and MergeArgs allows you to configure a graphical merge tool to be used for &lt;b&gt;status /gui&lt;/b&gt; and &lt;b&gt;commit /gui&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;DiffTool and MergeTool should point to the executable. DiffArgs and MergeArgs are the arguments passed to the executable. The following values are available for the arguments:&lt;br /&gt; &lt;br /&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Token &lt;/th&gt;&lt;th&gt; Meaning &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {basepath} &lt;/td&gt;&lt;td&gt; Full path to base filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mypath} &lt;/td&gt;&lt;td&gt; Full path to my changes &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {theirpath} &lt;/td&gt;&lt;td&gt; Full path to their changes (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mergepath} &lt;/td&gt;&lt;td&gt; full path for merge output (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {basename} &lt;/td&gt;&lt;td&gt; descriptive text of base filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {myname} &lt;/td&gt;&lt;td&gt; descriptive text of my filename &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {theirname} &lt;/td&gt;&lt;td&gt; descriptive text of their filename (merge only) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; {mergename} &lt;/td&gt;&lt;td&gt; descriptive text of merge filename (merge only) &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;If DiffTool or DiffArgs is omitted, then diffing from the status and commit GUIs is not supported.&lt;br /&gt;If MergeTool or MergeArgs is omitted, then merging from the status and commit GUIs is not supported.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample for Araxis Merge:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\compare.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/wait /2 /title1:{basename} /title2:{myname} {basepath} {mypath}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\compare.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/wait /swap /a3 /3 /title1:{theirname} /title2:{myname} /title3:{basename}
    {theirpath} {mypath} {basepath} {mergepath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for Beyond Compare 2.x: &lt;i&gt;(only supports 2-way merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\bc2.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath} /title1={basename} /title2={myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\bc2.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='{basepath} {mypath} /title1={basename} /title2={myname}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for KDiff3:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\kdiff3.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} --fname {basename} {mypath} --fname {myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\kdiff3.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='{basepath} --fname {basename} {mypath} --fname {myname} {theirpath}
    --fname {theirname} -o {mergepath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for TFS Team Explorer:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\diffmerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath} {basename} {myname} /ignorespace'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\diffmerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/merge {theirpath} {mypath} {basepath} {mergepath} {theirname} {myname}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for TortoiseMerge:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\TortoiseMerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/base:{basepath} /mine:{mypath} /basename:{basename} /minename:{myname}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\TortoiseMerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/base:{basepath} /mine:{mypath} /theirs:{theirpath} /basename:{basename}
    /minename:{myname} /theirsname:{theirname} /merged:{mergepath} /mergedname:{mergename}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for WinDiff: &lt;i&gt;(does not support merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\WinDiff.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='{basepath} {mypath}'/&amp;gt;
&lt;/pre&gt;&lt;b&gt;Sample for WinMerge: &lt;i&gt;(only supports 2-way merging)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='DiffTool'
 value='C:\Path\To\WinMerge.exe'/&amp;gt;
&amp;lt;add key='DiffArgs'
 value='/ub /dl {basename} /dr {myname} {basepath} {mypath}'/&amp;gt;
&amp;lt;add key='MergeTool'
 value='C:\Path\To\WinMerge.exe'/&amp;gt;
&amp;lt;add key='MergeArgs'
 value='/ub /dl {theirname} /dr {myname} {theirpath} {mypath} {mergepath}'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="Editor"&gt;&lt;/a&gt;Editor
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcEditor&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcEditor&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;notepad.exe&lt;/b&gt; (both)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;The Editor value specifies the text editor to be used for editing the commit message, when running &lt;b&gt;commit&lt;/b&gt; without the /gui option.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;Note: If an editor is not configured via the standard environment variables or the configuration file, the &lt;b&gt;EDITOR&lt;/b&gt; and &lt;b&gt;VISUAL&lt;/b&gt; environment variables are consulted before defaulting to notepad.exe.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='Editor' value='notepad.exe'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="IgnoreFile"&gt;&lt;/a&gt;IgnoreFile
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcIgnoreFile&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;.tfs-ignore&lt;/b&gt; (both) (default added in build 10144)&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;IgnoreFile specifies the file name where ignore information is gathered from.&lt;br /&gt; &lt;br /&gt;Ignore files are XML files which describe which files should be ignored during an implicit add operation (for both &amp;quot;add&amp;quot; of a directory with /recursive and &amp;quot;syncup&amp;quot;). They support recursion. They should be checked into your source tree so they are shared among the all the developers.&lt;br /&gt; &lt;br /&gt;An ignore file can list ignore delete and add operations. Deletes are used to remove ignores from parent directories. Add operations can be local-only or recursive.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample ignore file:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;ignore xmlns='http://www.codeplex.com/schema/IgnoreListSchema-1.0.xsd'&amp;gt;
  &amp;lt;delete&amp;gt;foo&amp;lt;/delete&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;bar&amp;lt;/add&amp;gt;
  &amp;lt;add&amp;gt;baz&amp;lt;/add&amp;gt;
&amp;lt;/ignore&amp;gt;
&lt;/pre&gt;Delete operations must be listed before add operations. Add operations by default are local-only unless overridden with &lt;i&gt;recursive='true'&lt;/i&gt;. Wildcards are supported (* and ?).&lt;br /&gt; &lt;br /&gt;We use a .tfs-ignore file like this in the root of our project:&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample ignore file:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;ignore xmlns='http://www.codeplex.com/schema/IgnoreListSchema-1.0.xsd'&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;bin&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;obj&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;_Resharper*&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.resharper&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.suo&amp;lt;/add&amp;gt;
  &amp;lt;add recursive='true'&amp;gt;*.user&amp;lt;/add&amp;gt;
  &amp;lt;add&amp;gt;*.xml&amp;lt;/add&amp;gt;
&amp;lt;/ignore&amp;gt;
&lt;/pre&gt;See IgnoreFileScheme-1.0.xsd for the schema of the XML file.&lt;br /&gt; &lt;br /&gt;If IgnoreFile is omitted, ignore files are not supported.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='IgnoreFile' value='.tfs-ignore'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="AnonymousUsername"&gt;&lt;/a&gt;AnonymousUsername
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcAnonymousUsername&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;anonymous&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;All read-only operations are initially attempted with this username and an empty password, to support anonymous access to the CodePlex source control repository.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='AnonymousUsername' value='anonymous'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="CodePlexWebServiceUrl"&gt;&lt;/a&gt;CodePlexWebServiceUrl
&lt;/h2&gt;&lt;i&gt;Environment override: &lt;b&gt;CpcCodePlexWebServiceUrl&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;http://www.codeplex.com/services/ProjectInfoService.asmx&lt;/b&gt; (cpc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Points to the CodePlex project information web service, which is used to translate project names into TFS server information, as well as translate CodePlex usernames into TFS domain usernames.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='CodePlexWebServiceUrl' value='http://www.codeplex.com/services/ProjectInfoService.asmx'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="ForceBasicAuth"&gt;&lt;/a&gt;ForceBasicAuth
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;CpcForceBasicAuth&lt;/b&gt; (cpc.exe), &lt;b&gt;TfcForceBasicAuth&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;true&lt;/b&gt; (cpc.exe), &lt;b&gt;false&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;Setting to 'true' causes authentication to always happen with basic authentication. This is necessary for CodePlex anonymous user support. This is a safe setting for the CodePlex TFS servers, because they require SSL.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Warning: Setting this to 'true' on tfc.exe could cause your credentials to be sent in the clear over the Internet, so use this setting with extreme caution!&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='ForceBasicAuth' value='true'/&amp;gt;
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a name="TryDefaultCredentials"&gt;&lt;/a&gt;TryDefaultCredentials
&lt;/h2&gt;&lt;i&gt;Environmental override: &lt;b&gt;TfcTryDefaultCredentials&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Default value: &lt;b&gt;true&lt;/b&gt; (tfc.exe)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Introduced: Build 10127&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;When set to 'true', the logged in user credentials are tried when there are no cached credentials for the server. This allows tfc.exe to work against intranet TFS servers with domain authentication without prompting for credentials. If set for 'false', then the user is prompted for credentials without trying the logged in user credentials.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;add key='TryDefaultCredentials' value='true'/&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Mon, 04 Jun 2007 15:45:23 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: ConfigFile 20070604034523P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
What is the CodePlex Source Control Client?
&lt;/h2&gt;The CodePlex Client is a command line source control client for CodePlex users. It supports working fully offline in a traditional edit-merge-commit style. It requires .NET 2.0.&lt;br /&gt;&lt;h4&gt;
Common Help Topics
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Installation&amp;amp;referringTitle=Home"&gt;Installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=Workflow&amp;amp;referringTitle=Home"&gt;Typical workflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Wiki/View.aspx?title=ConfigFile&amp;amp;referringTitle=Home"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;
Download
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/CodePlexClient/Release/ProjectReleases.aspx?ReleaseId=4122"&gt;CodePlex Client Beta 2 (build 10138)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>BradWilson</author><pubDate>Tue, 22 May 2007 23:07:21 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20070522110721P</guid></item></channel></rss>