Re: "The File Exists"

Shaw Terwilliger <[email protected]>
Newsgroups gmane.comp.version-control.sourcegear-vault.user
Message-ID <[email protected]>
Michael Dorfman wrote:
> I am trying to do a "Get Latest Version" into an empty folder, and the
> Vault suddenly gets all philosophical on me-- it states "The File
> Exists" and refuses to go any farther.

Are you using the Windows Forms or the IDE client?  Both share the
same local data, but knowing which one you're using may help find exactly
what's causing the error.

If you're using the Windows Forms client (the one I'm more familiar with),
you might try temporarily assigning a different working folder for your
project, and try the "Get Latest Version" there.  If that succeeds,
but the operation fails after you set your working folder back to its 
original location, it may be a problem with the baseline versions of
your working folder files. 

If the problem does not go away with a different working folder, it
could be that you're temporary directory is full (or all possible
combinations of names of temp files are used--see below).

Vault uses temporary files when downloading things, and puts them in
the user's temp folder (not the system temp folder like the note says,
but the error message is probably from the same piece of filesystem
code).  You can browse your user temp directory at %TEMP%.  Vault's
temp files are named like "tmpBEEF.tmp" where "BEEF" is a series of
hex digits.  Vault uses the .NET framework's Path.GetTempFileName()
to make temp file names.  It would be nice if this method could generate
more than 65K unique names.

Older versions of Vault (1.1 and older) wouldn't limit the number of
temp files it used during Get Latest Version.  If it couldn't merge
them into working folders fast enough, it would use all 65,535 names
available for four hex digits and fail.  Newer versions limit themselves
to 100 temp files at a time.

-- 
Shaw Terwilliger <[email protected]>
SourceGear LLC
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.