Is this a bug in TFS 2010? Has anyone else come across this? Am I doing something wrong?
Steps to reproduce:
Right click on a folder in the Source Control Explorer and choose View History.
Right click a changeset and choose Compare…
For the Target Path, pick another (more recent) changeset and press OK.
In the resultant Folder Differences window, right-click on a file with differences and select Compare Files. Note the differences, and leave the compare tool open for future reference.
Back in the Folder Differences window, right click the same file and choose View. Choose the Source and confirm that you do indeed view the source version. (Cross-check with the compare tool left open in step 4.)
Back in the Folder Differences window, right click the same file and choose View. Choose the Target.
Expected result: to see the target version of the file.
Actual result: I get the source version of the file again.
Does anyone else get this?
Yes, this is a bug in VS 2010 and I can reproduce it using the RTM and SP1 versions. I can also confirm that this has been fixed in VS 2012 which is currently in Beta. As a workaround, when you right click on the item, select View History. This will show you the history of the file and from there you can right-click on the version you are interested and select "View".
Sorry about the inconvenience.
-Taylor, TFS Version Control Development Lead
Related
I added a new project to a Solution Folder in VS2013. I added the project to TFS via Source Control Explorer but in VS Solution Explorer the little lock icon next to the project is not displayed. I just downloaded the solution to a new computer, and that project did not get downloaded. I had to go into Source Control Explorer and explicitly get it. The solution just does not recognize it as under source control...
How do I correct this?
Any help is appreciated
You probably need to bind the project to source control.
Open the project in Visual Studio.
File > Source Control > Advanced > Change Source Control (or you might find there is only an option like File > Source Control > Add to Source Control - I can't remember exactly what this looks like)
If you get to the Change Source Control dialog, then select all the projects in the list and click Bind. If this works you should have a tick in the "Connected" column and "Valid" status, and you can OK the dialog and your project should be good to go. If binding fails, then Unbind everything and try binding again.
Looking back to basics, I discovered some of the files (such as the project file itself) had never been added to source control. I discovered this by going to Source Control Explorer, selecting one of the projects unmarked in Solution Explorer, right-clicking to get the context menu, then selecting Add Files To Source Control, then selecting the whole list presented, then clicking OK/NEXT/FINISH. That marked the unmarked project in Solution Explorer with a plus sign (+) to be added. Then again from Source Control Explorer I selected the solution and clicked Check In Pending Changes. Then I got the lock icon in Solution Explorer.
If the Projects/Folders are missing in Source Control this can be done -
Open TFS -> Source Control Explorer -> Right click on Solution folder and click 'Add Items to Folder...'. Now in 'Add to source Control' prompt select the folder of desired project that needs to be added to source control. On doing so the project folder along with its content should appear with + sign and on check-in the project will be available under the solution in source control.
This is the reason due to solution is available on TFS but local instance is not bound to server directory.
Solution:
Files=>Source Control=>Advanced=>Change Source Control
Then Bind all projects to server repository location.
This will resolve the issue.
Compare with another correct project,I know it's lost xxxx.csproj.vspscc file for my project.
for init this file.
First , you should open right project and add error project in current solution.
Then,Right click error project click Source Contorl → Add Item to source control
Then, source control will warn you
Click Continue
Source control warns you again to rebind item
you shoud click Ignore All
After check out and check in error project,It will be ok.
I'm going into TFS and creating a mapping to a local folder, then I right click on the folder I want to check out and click on "Get Latest Version". After I have pulled down all the files I open up the solution in VS and in the Solution Explorer window I see all the files (including the solution and project files) have red check boxes next to them. So now it looks like they all need to be checked in because I have made edits! This is not true, I'm checking these fiels out for the first time and haven't made any changes yet.
How do I check out the folder without it looking like there are already edits that need to be checked in? (no red check next to each file)
I had a similar problem (red checks next to everything in the Solution Explorer window). I resolved it by selecting the solution in the Solution Explorer, and then selecting from the menu bar: File > Source Control > Refresh Status. This removed all my red checks.
In Team Explorer (in Visual Studio): Tools | Options | Source Control | Visual Studio Team Foundation Server and select Show Deleted Items...
Then in source control explorer you'll see the items greyed out. You can right click on them and Undelete. (This option will only be available if they, after the undelete, will be included in your current workspace).
The red check marks indicate that there has been a change to the file. Many of these answers for previous versions of Visual Studio seem correct. I use Visual Studio 2017 and using GitHub.
If you have several files with the red check mark:
Right click project
Go to Source Control,
Select Commit,
{Follow standard commit procedure}
Enter your commit message,
Sync,
Push.
If there is just one file or you want to commit the files individually:
Right click each file
Select Commit,
{Follow standard commit procedure}
Enter your commit message,
Sync,
Push.
Right click project
Right click file
Identify Version Control Item Status in Solution Explorer
Checked out
Represents an item for which the current user has a pending change in their current workspace, and the item is not exclusively locked.
For me, the red X's were appearing because I had moved the files from a Feature branch to an Archived branch (After a successful merge into the main branch).
I tried File > Source Control > Refresh Status however this didn't help.
I didn't want to go messing with cache files.
I found this answer:
Go to Tools/Options/Source Control/Visaul Studio Team Foundation Server. Check if there is a check mark next to "Show deleted items in the Source Control Explorer".
I had to right click the particular folder and selected the "Source control" ->"undo pending changes" option.
Just spent 4 hours trying to rectify this and none of the solutions above worked for me, not even unmapping and re-mapping the solution.
In case anyone still has this problem, try removing your workspace and re-adding it.
Below are the instructions for removing and re-adding a workspace in Visual Studio 2019, but it should be similar for any other version as well:
Go to Team Explorer, scroll down and under Solutions you will see
Workspace: "Name of your workspace"
Click on the arrow next to it and select Manage Workspaces
A dialog box containing your workspace will open. Click Edit to see
the paths for Source Control Folder and Local Folder. Make a note of
them as it will be useful for re-adding the workspace. Close the Edit
Workspace window, select the Workspace and press Remove
Once it is removed, select Add then enter the paths that you noted
earlier. Press OK to confirm and it should re-add your workspace
without the check marks.
In Visual studio 2019, I have unloaded the project and I have reloaded the project. Then it went.
Working solution tested. It turned out very easy. Pending Add + sign or Pending Edit red check sign statuses on projects (below screenshot) of solution are git's statuses, this is very normal, and they will be disappeared after you "git add ." and "git commit -m 'messages'". Done!
After banging my head against a brick wall for 4 hours, it turned out I didn't want to delete the folders and files in the Source Control Explorer with the red X alongside them I had previously deleted, but merely toggle the Show/Hide Deleted Items button so it made them all disappear:
Highlight the adulterating red-crossed folder/file, and click the 2nd icon from the left in Source Controller menu that looks like an 'Xx'. For me, that's all I wanted to do. My offending files had actually been physically deleted from everywhere except from the documentary evidence that they had once been in the Source Controller. That sorted it for me.
I currently work with a Team Foundation Server and Visual Studio. Since two days, I keep getting error messages that I can't write to files (it seems not to matter which file I try to access). I am the only one in my team who has those problems.
So when I try to check-in, I get:
When I click on Overwrite, I can overwrite it. But when I try to check-in pending changes, I don't see any changes. If I modify a source file, I can compare it to the latest version and see that there are changes.
How can I fix this? I simply would like to work ...
Work-around: If I "Check Out for Edit..." the file (so I get the lock) I can edit it. But this doesn't work for the solution file, because somebody else checked it out.
Go to Solution Explorer
Right click on your solution
Click Go online
It seems that your solution is not connected to the Team Foundation Server.
I would recommened that you remove the mapping of your workspace, delete all local files of the workspace and then get a fresh version (Get latest version) from the Team Foundation Server.
To remove mapping you need to open the Source Control Explorer in Visual Studio. Navigate to the Branch you are working on and open the Context Menu (right click on branch). In the menu you select Advanced->Remove mappings....
In the dialog you can edit or remove the mapping of your workspace. (Note: When you select Remove mapping then will all files in the Local Folder be removed that are controlled by TFS)
What you also can do is to check the state of your workspace/solution if it is connected to TFS. To do that you need to open the solution in Visual Studio and then open File->SourceControl->Advanced->Change Source Control... in the File Menu of Visual Studio.
In the Dialog you will see if your Solution and projects are connected to TFS and the server they are connected to
You should have the correspondings local files like in the source control.
Go to the local file, right click on it and choose Properties,
in the opened dialog uncheck the read-only checkbox, click Yes to the question if you want to apply changes to all subfolders and files.
Hope this is helpful.
You will face the same problem when setting your Workspace location to server (which in my case happened somehow magically).
To change the location to local again open the source control explorer and in the upper part you find a drop down labeled "Workspace". From this drop down choose "Workspaces...". This opens the "Manage Workspaces" dialog where you can select your workspace and click the "Edit" button. In the Edit dialog click the "Advanced" button and you'll see a drop down for Location where you can change it to Local again.
MSDN provides detailed information on the pros and cons of local and server workspaces.
I deleted some files and some folders in TFS. Many check in's later I found out that I need the deleted functionality back in my project.
How can I restore the deleted files and folders?
In Team Explorer (in Visual Studio): Tools | Options | Source Control | Visual Studio Team Foundation Server and select Show Deleted Items...
Then in source control explorer you'll see the items greyed out. You can right click on them and Undelete. (This option will only be available if they, after the undelete, will be included in your current workspace).
NB. in newer versions of Visual Studio (eg. 2013) there is now a button to switch on display of deleted items in the Source Control Explorer's toolbar. Its the second button (here with the VS dark theme):
Alternatively using the TFS PowerToys you can look at history and right click to select "Rollback Entire Changeset": this will create pending changes to revert the changes of the selected changeset.
Edit: Added paragraph on newer versions of VS.
Assuming you successfully undelete as per #Richard's answer, there might still be an issue with the item appearing in Solution Explorer (at least it was for me using Visual Studio 2015). That is to say, the file is restored on your hard drive, in the proper place in your project's folder structure--but it's not showing in VS.
To resolve this, click the Show All Files button in Solution Explorer:
You will see your file, in a ghostly white icon. Right-click on it and select "Include in project". Save and check-in changes. You are back in business.
Recently I faced this issue, accidentally I deleted some classes which weren't checked in, I searched the name of the classes in my project directory (I was working on D365 project there is a bin folder in C:\AOSService\PackagesLocalDirectory\bin\XppSource) and saw that in the bin folder they were existed so I created new classes with the same name and copy the logic.
Also I should mention that no file was in recycle bin.
I have multiple projects in a couple of different workspaces. However, it seems like I can never figure out how to change my current workspace. The result is that files that I have checked out on my machine are shown to be checked out by somebody else and are not accessible.
I'm going to assume you mean "workspace", not "workstation", as your question doesn't quite make sense to me otherwise.
In Visual Studio, go to the Source Control Explorer (View->Other Windows->Source Control Explorer). At the top of the source control explorer window you should have a toolbar with a few buttons. Somewhere on that toolbar (for me it's at the right) there should be a Workspace dropdown. Just select the workspace you want to use from that dropdown.
Are you wanting to change the location of the files on the workstation? If so, here's how I do it:
Open Visual Studio
Open the Source Control Explorer window.
From the Workspace dropdown select "Workspaces..."
The Manage Workspaces dialog should show up.
Select the workspace you want to modify, and click Edit...
You should be able to adjust the folders from here.
First, you should active you workspace window.
choose the window menu
click Source Control Explore.
click Active button.
The Workspace window appears
click the WorkSpace name in Workspace window.
from the popup list choose the Workspace name you want.
In Visual Studio 2013
If you just regret which local folder you choose for a project under version control. Do like follows:
In the Source Control Explorer in the Folders pane
Select the project which local folder destination/mapping you are not pleased with.
Right click. --> Advanced --> Remove mapping.
A window opens: Press the browse button and choose another local folder for the project and then click "Change".
Click on: File -> Source Control -> Advanced -> Workspace and then you can edit or remove the existing mapped locations
I don't entirely understand your question.
Are you saying that files you check out on one machine seems to be unaccessible on another of your machines? I'd say that would be entirely by design, as now you have a file that has local modifications done on one machine, which may or may not be available on your other machines.
When you say checked out by somebody else, what does that mean exactly? How are you verifying this, what are you looking at?
Or do you mean something else? In that case, please elaborate.