How To Checkin Files To 2 TFVC Projects At The Same Time


3/21/2017

Jeff here from the VSTS support team.

Someone asked how to map 2 VSTS TFVC Projects so we can checkin files to both projects at the same time. They wanted to see how TFVC/VSTS shows 2 projects for the same checkin notification(in particular, the teamProjectIds field). We can easily see that with a Web Hook Service Hook when we link our VSTS account to RequestBin for checkin notifications.

snap002056

snap002057

snap002058

Let’s connect to the first VSTS TFVC Project in Visual Studio:

snap002059

And map it to a folder underneath a folder that will be the root for both the TFVC projects we are going to checkin changes together for. I added TFVC to the default path, so I know these TFVC projects are together.

snap002060

Now let’s go to Source Control Explorer to map the second TFVC project:

snap002061

snap002062

After we map it, we can create some files to get checked in.

snap002063

snap002065

And then add them to Source Control:

snap002064

snap002066

Here are the files waiting to be checked in:

snap002067 snap002068

Here are the pending changes waiting to be checked in:

snap002069

Here is the resulting checkin for those 2 files in 2 projects:

snap002070

Here is the full XML for the checkin:

“subscriptionId”:”61a792ce-9ddc-40a5-811e-0640ab08800f”,”notificationId”:1,”id”:”6eb85409-f7b7-4fc0-bc4d-aac5bca1fb05″,”eventType”:”tfvc.checkin”,”publisherId”:”tfs”,”scope”:”all”,”message”:{“text”:”VSTS Blog checked in changeset 8: VSTS-Blog – Double Checkin”,”html”:”VSTS Blog checked in changeset <a href=\”https://vsts-blog.visualstudio.com/web/cs.aspx?pcguid=9a0adf58-227a-4bce-adc9-f5450850aad6&amp;cs=8\”>8</a>: VSTS-Blog – Double Checkin”,”markdown”:”VSTS Blog checked in changeset [8](https://vsts-blog.visualstudio.com/web/cs.aspx?pcguid=9a0adf58-227a-4bce-adc9-f5450850aad6&cs=8): VSTS-Blog – Double Checkin”},”detailedMessage”:{“text”:”VSTS Blog checked in changeset 8: VSTS-Blog – Double Checkin”,”html”:”VSTS Blog checked in changeset <a href=\”https://vsts-blog.visualstudio.com/web/cs.aspx?pcguid=9a0adf58-227a-4bce-adc9-f5450850aad6&amp;cs=8\”>8</a>: VSTS-Blog – Double Checkin”,”markdown”:”VSTS Blog checked in changeset [8](https://vsts-blog.visualstudio.com/web/cs.aspx?pcguid=9a0adf58-227a-4bce-adc9-f5450850aad6&cs=8): VSTS-Blog – Double Checkin”},”resource”:{“hasMoreChanges”:true,“teamProjectIds”:[“0695931c-21c0-47e6-904c-add0c2d1527f”,”83416a37-d523-417c-93a2-b8bf6dee7e4b”],”changesetId”:8,”url”:”https://vsts-blog.visualstudio.com/_apis/tfvc/changesets/8″,”author”:{“id”:”d24ac5a3-ae7e-6858-8bff-2ae8420c64be”,”displayName”:”VSTS Blog”,”uniqueName”:”VSTS-Blog@outlook.com”,”url”:”https://app.vssps.visualstudio.com/A958272a6-6094-4330-aaa1-23c3b9b80363/_apis/Identities/d24ac5a3-ae7e-6858-8bff-2ae8420c64be”,”imageUrl”:”https://vsts-blog.visualstudio.com/_api/_common/identityImage?id=d24ac5a3-ae7e-6858-8bff-2ae8420c64be”},”checkedInBy”:{“id”:”d24ac5a3-ae7e-6858-8bff-2ae8420c64be”,”displayName”:”VSTS Blog”,”uniqueName”:”VSTS-Blog@outlook.com”,”url”:”https://app.vssps.visualstudio.com/A958272a6-6094-4330-aaa1-23c3b9b80363/_apis/Identities/d24ac5a3-ae7e-6858-8bff-2ae8420c64be”,”imageUrl”:”https://vsts-blog.visualstudio.com/_api/_common/identityImage?id=d24ac5a3-ae7e-6858-8bff-2ae8420c64be”},”createdDate”:”2017-03-21T17:30:25Z”,”comment”:”VSTS-Blog – Double Checkin”},”resourceVersion”:”1.0″,”resourceContainers”:{“collection”:{“id”:”9a0adf58-227a-4bce-adc9-f5450850aad6″,”baseUrl”:”https://vsts-blog.visualstudio.com/”},”account”:{“id”:”958272a6-6094-4330-aaa1-23c3b9b80363″,”baseUrl”:”https://vsts-blog.visualstudio.com/”}},”createdDate”:”2017-03-21T17:30:29.0671123Z”}

/Jeff

Happy Developing!


Comments (0)

Skip to main content