How to have TFS 2010 detect changes done to files outside of Visual Studio?
This worked for me, using the TFS Power Tools:
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(where directory-name is the path to the directory to be updated, otherwise it will detect changes throughout your entire TFS repository)
If you want to know what it would do without it actually making any changes, you can force it to do a dry run by adding the /preview
switch.
If you have a network connection to your server while you're working outside of Visual Studio, it's probably best to go ahead and check the file out before editing it, either using the tf command line client, or using the Windows Explorer shell integration that's available in the TFS Power Tools release. (Plus an increasing number of other tools have TFS integration that makes this automatic, but if you're just using notepad, this still needs to be a manual step.)
Of course, there are many times when you're working and you don't have a network connection available that allows you to check out the files.
If you know what files you've modified, you can just check them out from within Visual Studio, then you'll be able to check them back in.
If you don't know what files you've edited, you can detect the changes by running the tfpt online
command (also part of the Power Tools release). This will locate the files that have been modified locally and check these files out from the server.
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*
I tested this workaround on a branch and it helped me a lot. But there are only new files and new folder who has to be done manually.
I recommend to create a branch before the operation. It isolates you the time of the operation.
Note: This technique does also the files identical cleanup that TFS always marks as modified.
TFS has a "Reconcile" command for this:
- Open the Source Control Explorer
- Right-click on the folder with the changes and choose Compare
- Select the files you want to reconcile (press CTRL+A to select all files)
- Click on the Reconcile button
- Set the options in the Reconcile Folder Differences dialog. Make sure Files that do not have pending changes is set to Check Out
- Click OK
- If you have local changes the Check Out dialog will be shown. Set the preferred Lock type
- Click Check Out
See also: Reconcile differences between folders