In the sources of the command line client I saw that there is a bug in the current implementation of restoreWorkingFolderIfNecessary(), which does not properly reset the temporary working folder for the file case. Here comes the fixed version of the method:get -workingfolder "F:/Vault_4.1/EWB_3.1" "$/Products/EngineeringWorkbench/trunk/EWBFramework.sln"
get -workingfolder "F:/Vault_4.1/EWB_3.1" "$/Products/EngineeringWorkbench/trunk/EWBFramework.vssscc"
Code: Select all
public void restoreWorkingFolderIfNecessary(bool resetWorkingFolder, string repositoryPath, string originalWorkingFolderPath)
{
// Reset the original working folder, if we changed it.
if ( resetWorkingFolder && repositoryPath != null)
{
if (originalWorkingFolderPath == null)
{
// Pace Start
// Bug fix for removal of working folder for files instead of folders
VaultClientTreeObject workingFolderTreeObject = RepositoryUtil.FindVaultTreeObjectAtReposOrLocalPath(repositoryPath);
if (workingFolderTreeObject is VaultClientFile)
{
workingFolderTreeObject = workingFolderTreeObject.Parent;
repositoryPath = workingFolderTreeObject.FullPath;
}
// Pace End
ServerOperations.client.ClientInstance.TreeCache.RemoveWorkingFolder(repositoryPath);
}
else
ServerOperations.client.ClientInstance.TreeCache.SetWorkingFolder(repositoryPath, originalWorkingFolderPath);
}
}
Frank