How to turn on notification for any incoming changes in TFS? - visual-studio

TFS automatically updates my source control files without notify me what exactly has been updated. I want the compare tool automatically pops up and shows the changes from other people, even the change is not conflicting with mine.
How do I do this?

To turn on notification for any incoming changes in TFS, the simplest way you can use is Check in alert You can receive email notifications when pending changes are checked in. You need to follow below steps:
Configure an SMTP sever to TFS ( If your team already has ,doesn’t need)
Open alerts management, enter your Email Address.
Select New Alert Template, choose the alert types (For you , select Checkin any checking occurs in this team project)
More detail from MSDN: https://msdn.microsoft.com/en-us/library/ms181334.aspx
If you get conflicts when you are checking in,you can use the diff window to resolve these conflicts first.
Certainly, you can also meet your customization requirement. But , there is not an easy way. You need to:
First ,you need to create a subscriber to license to the CheckIn event.
Then use TFS API to call the diff window and get checked in files and changes associated with that changeset. Then show changes between local workspace and server version on the diff window .

Related

TFS in Visual Studio - How to get server repo to match local repo

Disclosure: Newbie with TFS and couldn't find useful SO answers
A coworker submitted a bunch of changesets to source control -- Can I just get the most recent one to get all of his changes? Or would I need to get each one individually? In other words, do changesets compound?
And more generally, what's the easiest way to ensure my local repo is identical to the server repo (minus the new things I'm working on).
I'm much more familiar with Git if that would help explain this
With your source control set to TFS in VS (Tools > Options...) just right click on your project file in Solution Explorer and select Source Control > Get Latest Version (Recursive). I do it twice just to make sure I get a message saying "up to date".
You can also use Source Control Explorer and get a specific changeset by right clicking the change set and selecting a similar option, and yes, these will get all changes up to the one you clicked.
Edit:
A little confused rereading your title it sounds like you want the server to match local, then your question is about matching your local to the server. So let me address both.
To get the server to match your local this would be most like a "Check in" (or 'push' in Git) this will merge your files into the server. You can perform a check in by clicking the Team Explorer tab and selecting "Pending Changes" then type a description and click "Check In". Where there are conflicts your will be notified and asked how to proceed, but in most cases following best practices this will not be the case.
Then you will want to match your local with the server (basically a 'pull' in Git) by right clicking the project file and selecting 'Get Latest Version (Recursive)'
Hope this helps.

Integrating SVN with TFS

Is there any recommendable solution to integrate SVN with TFS 2013 in a sense that SVN is being used for source control and TFS for work item tracking?
For example, it should be possible to link commits in SVN to work items in TFS.
You can use Integration with Bug Tracking Systems / Issue Trackers: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html
It is very common in Software Development for changes to be related to
a specific bug or issue ID. Users of bug tracking systems (issue
trackers) would like to associate the changes they make in Subversion
with a specific ID in their issue tracker. Most issue trackers
therefore provide a pre-commit hook script which parses the log
message to find the bug ID with which the commit is associated. This
is somewhat error prone since it relies on the user to write the log
message properly so that the pre-commit hook script can parse it
correctly.
TortoiseSVN can help the user in two ways:
When the user enters a log message, a well defined line including the
issue number associated with the commit can be added automatically.
This reduces the risk that the user enters the issue number in a way
the bug tracking tools can't parse correctly.
Or TortoiseSVN can highlight the part of the entered log message which
is recognized by the issue tracker. That way the user knows that the
log message can be parsed correctly.
When the user browses the log messages, TortoiseSVN creates a link out
of each bug ID in the log message which fires up the browser to the
issue mentioned.
Go through mentioned URL for detailed description.
https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html describes how to configure folders in TortoiseSVN to do a one-way integration between file versions committed in TortoiseSVN, and work items in TFS. When a developer commits the file version, he/she is prompted for the TFS work item number (which works fine if the developer knows the number). It even creates a link to the TFS work item in the Revision Log of the file in TortoiseSVN. However, it does not display a list of work items for the developer to choose from, nor is there any link in the TFS work item going back to the committed file version in TortoiseSVN. (It is possible to write an issue tracker plug-in for TFS to do this, but all the plug-ins I have found on the internet seem to be for older versions of TFS.)
This integration will insert the bug number into the Revision Log of committed source files, and will add a link from the log to the selected bug in TFS. Although you make this change inside your working copy, it will apply to the same folder in other working copies once those working copies have been updated.
To associate a folder tree in TortoiseSVN to TFS:
1. Right-click on the folder in your working copy. This should be at the apex of the folder tree you want to associate with a project in TFS. Select TortoiseSVN > Properties.
2. On the Properties - TortoiseSVN window, check to see whether there are any bugtraq properties for this folder. If not, click New > Bugtraq (issue tracking integration).
3. The Edit Bugtraq Properties - TortoiseSVN window opens.
a. For Issue tracker URL, specify the URL to your work items:
http://tfs_server_name:8080/tfs/DefaultCollection/TFS_Project_Name/_workitems?id=%BUGID%&_a=edit
b. Next, place a check in the "Remind me to enter a bug-ID" checkbox.
c. For Message Pattern, specify something like:
TFS Work Item: %BUGID%
d. For Message Label, specify something like:
TFS Work Item:
e. For "Bug-id is", specify Numeric.
f. At the bottom of the window, place a check next to "Apply property recursively". Click OK.
4. Back on the Properties - TortoiseSVN window, verify that the bugtraq properties have been added and click OK.
5. Remember to perform an SVN Update and SVN Commit on the folder after changing its bugtraq properties.
The bugtraq properties that implement this one-way integration between SVN and TFS are built into Apache Subversion and so should work for SVN even if you are not using the TortoiseSVN user interface.

How can I know when a new version is available in source control?

I've been relying on email alerts, but I don't like doing that. Is there an alert or notification or some other clue within Visual Studio itself to let me know I need to get latest?
If you're using TFVC, the source control explorer will show you on a file by file basis whether you have the latest version.
If you're using Team Rooms, the team room can be configured to display notifications whenever a user commits a change.
In general, it shouldn't matter too much -- just do a "get latest" a few times a day and resolve any conflicts that pop up.

Visual Studio Team Services is there an icon to notify when files have been updated

I am using VS2012 with TFS on a server workspace.
When someone checks something out a person icon is shown next to the file so you know it is currently locked by someone else, however when they check it back in the icon changes back to a lock icon without any indication that the files has been updated.
Is there a setting i'm missing that will show that you don't have the latest file maybe an icon next to the file in the solution explorer?
The only way i see how to do it is to view history on each file or go to the source control explorer and run a compare on every files, both of these options are not very efficient as I would not know when to perform this so i would have to do it on every check out.
Thanks in advance.
No, you did not miss any particular detail. After the checkin, the icon returns to a lock, and there are no notifications by default.
I believe that there is nothing that can be done about the padlock icon, but you can set up alerts (e-mail) to be triggered when check-ins are made.
Take a look here and here (alerts for specific folders) to understand how to configure e-mail alerts using TFS Event Service.
You can also bind notifications to workitems.
If your TFS is configured to use gated-checking to perform a build on a "build server" before each check-in, you can subscribe to the Team Foundation Build Notification to receive notifications of new builds that were queued/processed on the server.
Hope it helps.

SVN Auto Update

I'm using AnkhSVN with Visual Studio 2010.
When I start to edit a file, I'd like to either automatically update the file from the repository, or be warned that it needs updating.
Is this possible?
Would keeping the working copy updated be of use?
If so, you can use this:
How do I automatically update a Subversion working copy?
There's not really a way to do this in Subversion, except when you're using locking and svn:needs-lock on files. The reason is that when you start editing your file can be up to date, but when you want to commit it's changed, and needs updating. Subversion will check for this case and notify you to update when you try to commit.
To get notification of files others are working on, you can go to the "Recent changes" tab in the Pending Changes window (View -> Pending Changes, then click the 3rd tab from the top). You can configure this to update every 'X' time, UI should be pretty self explanatory here.
See my answer here for info on svn:needs-lock, but make sure you understand the pitfalls of exclusive locking of files.

Resources