0
votes

having a weird problem with TFS (TFS2008). We've done a merge into our Main trunk. We've resolved the conflicts and we've checked in associating it with a single work item.

So we have our WorkItem with a single changeset in it.

Our build is failing because the previous version of the csproj file is being got from TFS. If I open the WorkItem and the go to links and open the changeset the csproj file is not listed. In fact no files that are "merge/edit" are listed... there are others missing the csproj is the first.

If I do a view history on said csproj file I see the last changeset it was in. If I open that changeset (same number as associated with the work item) the csproj file is there present and correct, along with all other "merge/edit" files.

If anyone has any ideas why this might happen and how to resolve it, it'd be much apreciated.

Thanks

1

1 Answers

2
votes

If you do a view history on the MAIN trunk, and look at the changeset that you merged from your development branch, does the CSPROJ show there? It sounds like it may have not been picked up in the merge.

If it does show in that changeset, is there any chance that there was a conflict when you merged? If so, we've had the issue where the person doing the merging inadvertently chose to keep the target version. In that case, the conflict is resolved, and as far as TFS is concerned, there's no longer a need to merge that file.

If you have a list of the files that seem to be missing, and trying an additional merge isn't picking anything up, you can force the merge from the command line (something like):

TF.EXE merge /force /version:T "$/Project/Dev/Src/FileThatWasMissed.csproj" "$/Project/Main/Src/FileThatWasMIssed.csproj"

Of course, remember to change your filename and make sure you are in a mapped directory when you execute this command.