Mark13426
Mark13426

Reputation: 2639

TFS Incremental build error - Unable to perform the get operation because the file already exists locally

I'm trying to enable incremental build of my VS solution. In the GUI for xaml build process template, I set "Clean Workspace" to "None" and added /p:IncrementalBuild=True as an MSBuild argument. I then checked in changes to a file, but when I run my TFS build, I immediately get the following error:

Unable to perform the get operation because the file already exists locally

Exception Message: One or more errors occurred while performing a Get operation. (type GetException)
Exception Stack Trace:    at Microsoft.TeamFoundation.Build.Workflow.Activities.SyncWorkspaceInternal.ThrowIfErrorsOccurred.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

I believe TFS gets my file but cannot overwrite the existing file on the build agent and errors out. How can I force it to overwrite the file?

Upvotes: 4

Views: 8672

Answers (2)

Eric Sciple
Eric Sciple

Reputation: 11

In XAML Build, you can add a GetOptions input for the SyncWorkspace activity. <mtbwa:SyncWorkspace _locID="Activity037" _locAttrData="DisplayName" DisplayName="Get Workspace" VersionOverride="[GetVersion]" Workspace="[Workspace]" GetOptions="[Microsoft.TeamFoundation.VersionControl.Client.GetOptions.Overwrite]">

See DefaultTemplate.11.1.xaml as a go-by.

TfvcTemplate.12.xaml doesn't expose a way to do it.

Upvotes: 0

Buck Hodges
Buck Hodges

Reputation: 3352

The file is writable. When there's a writable file, get will not overwrite it unless the /overwrite option is used. However, you would need to figure out how the file is becoming writable. You may want to go back to the default option of creating a new workspace, running a build with verbose logs, and see what is making the file writable.

Upvotes: 6

Related Questions