3

I have several projects hosted as separate TFS projects.

When I want to check-in changes, all the changes of all projects sum up together and commit as one check-in.

I want to handle the check-ins per project, so that the current check-in only commits the files of the current solution.

Here is what the TFS Pending Changes page looks like:

enter image description here

The red is "Project 1", the black is "Project 2", I don't want the black to be here at all.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
Shimmy Weitzhandler
  • 101,809
  • 122
  • 424
  • 632

1 Answers1

5

There are several options:

  1. You can create separate workspaces for each project and only map the directories that belong to said project, that way the changes will not be 'shared'. See this on how to create separate workspaces for each project.
  2. You can also right-click the project and choose the Check-in option from there.
  3. From the pending changes window, right-click any folder or item you don't want to check in (yet) and choose exclude to exclude them from this check-in.
  4. One more option to have the pending changes window auto-include the right files is to go to the source control explorer and right-click the folder containing just the project you want to check in and pick check-in from there.

The reason for checking in all changes as one is to make sure the comitted version in source control is in a consistent, buildable state. Should you want to use a Continuous Integration or even Gated checkin build on the build server component that goes with TFS, you might get into trouble when checking in the projects one by one.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
  • So what do people do if they have projects that are to be managed in a complete separate manner?? If I exclude folders, it becomes one of the zillion excluded files then when I will want to re-include them, I'll have to remember the list of those particular files in each project I do want to include. I don't understand why the change-sets can't be separate per project. – Shimmy Weitzhandler May 04 '13 at 22:37
  • You can create separate Workspaces for each project and only map the directories that belong to said project, that way the changes will not be 'shared'. Our you can use MyWork (which associates changes to a specific task and check in one task at a time). Or you can rightclick your open solution and choose check in from there so that any other changes are excluded by default. – jessehouwing May 05 '13 at 08:30
  • 2
    One more option to have the pending changes window auto-include the rigth files is to go to the source control explorer and rightclick the folder containing just the project you want to check in and pick check-in from there. – jessehouwing May 05 '13 at 08:36
  • 2
    I chose the separate workspaces option. Indeed works best and is actually what I was looking for. Thanks. I've updated your answer including in your comments to make it easier for other ppl find their answer. – Shimmy Weitzhandler May 12 '13 at 00:40