<p>I like to keep my source files on a USB drive for the portability. To date I have been using Visual SourceSafe for this purpose. What is a good alternative to VSS that fulfils these criteria:</p>
<ul>
<li>Entire database can be held on a USB &quot;pen&quot; drive</li>
<li>Code / documentation duplicated on local drives</li>
<li>Does not require a central server</li>
<li>Easy to backup and restore using standard backup tools</li>
<li>Integrates with Visual Studio</li>
<li>Has a small footprint</li>
<li>Easy to clean the database and keep small</li>
<li>Compatible with Windows XP, Vista and Vista x64</li>
</ul>
<p>A good reference on setup would be good too.</p>

Don't use SourceSafe.  There's major problems with it.  See this:
Article1
Article2
I'd recommend using SubVersion instead.
If you're using Windows, you can use
TortoiseSVN
.
If you're working on Linux or other Unix variants, try
RapidSVN
.