Search code examples
tfs-sdk

Using the TFS API, filetypes with extensions like .svnExe get ignored


I'm working on a tool which migrates from SVN to TFS using the TFS API.

workspace.CheckIn(
     pendingChanges,
     currentUser.TfsUser,
     set.LogMessage + " on " + String.Format("{0:d/M/yyyy HH:mm:ss}", set.TimeStamp) + " by " + currentUser.SvnUser,
     (CheckinNote)null,
     (WorkItemCheckinInfo[])null,
     (PolicyOverrideInfo)null
);

This is the way i check my revision in, but sometimes it ignores files like .svnExe, or other "unknown" file types.

Is there a way to check ALL filetypes in TFS?


Solution

  • There are two possibilities that I can think of:

    Possibility 1: Something is causing the PendAdd() to fail.

    For example, if the path already exists in Version Control, you have to use a PendEdit() instead.

    To diagnose this possibility, you should subscribe to the VersionControlServer.NonFatalError event.

    Possibility 2: You could have a corrupt workspace cache

    You can refresh the cache by calling Workstation.Current.EnsureUpdateWorkspaceInfoCache() or by following the steps in this answer (run tf workspaces /collection:http://yourserver:8080/tfs/DefaultCollection, or delete the directories manually).