I have 2 changesets in the same file as below.
When I select the last changeset only which is 41183 and try to merge between branches, conflict occurs. However, it fetches changeset 41182 instead of 41183. The result should be 2 instead of 1. Why does TFS merge gets the previous changeset?
Enviroment: Visual Studio 2017, Tfs 2017/
It seems tfs default merge tool is buggy.When I test the same situation with a different merge/compare tool (KDiff3) true output is produced.
Related
Since there doesn't seem to be an option to discard pending merge candidate changesets in Visual Studio, I executed the following commands from the CLI:
tf merge [source] [destination] /recursive /version:[changeset]~[changeset] /discard
tf checkin
I then ran the following command to confirm the changeset had been removed from my merge candidate list, which did in fact remove it as expected:
tf merge [source] [destination] /recursive /candidate
The problem is when I go back to Visual Studio and execute Branching & Merging --> Merge using the same source and target branches with the Selected changesets option, the Source Control Merge Wizard still shows the changeset that I just discarded from the CLI as an available merge candidate.
Just tested with TFS 2013.5+VS 2013.5, but can't reproduce your scenario. In my test, when not perform command tf checkin, you'll see the changesets that just discarded from the CLI still shows in Source Control Merge Wizard, if you perform command tf checkin, you won't see the changesets that discarded any more.
I need to create a branch in TFS and copy the code and the history from the parent branch.
I am using TFS 2013 with Visual Studio 2013, is there a way to easily do this ?
Branching is a technique for creating a parallel set of versions of your files. So the branch will have the same codebase as parent branch.
Regarding the history, the file will keep the history under the branch change, check the screenshot below:
I'm using TFS 2010 and Visual Studio 2013. When I queue build I can select option "Latest sources with shelveset" and select shelveset and it is working ok.
I can also set given version on Parameters tab as MSBuild Arguments for eg. by changeset CXXXXXX and it's working ok too.
I'm trying to combine these two options and it's not working. Changes from shelveset are not downloaded during Get task. How can I combine these two options?
No, it is impossible for you to combine these two options.
It is impossible.Why would you like to combine these two options?
Queue a build through shelveset is a private build. The other way you achieved is public build. More info from Microsoft: https://msdn.microsoft.com/en-us/library/ms181722(v=vs.120).aspx
If you want to build a shelveset with "specific changeset" , you can roll back a changeset and put what you want to build in a shelveset. At last ,build the shelveset.
In Visual Studio 2010, I want to able to view changes that other team members have checked-in without actually performing a get-latest (which would overwrite local files). Is there a way to do that for bulk files instead of selecting each file and comparing it to the server version?
I use the View History window, then select any changeset and view the details, you can see each file that was included in that changeset and choose to Compare with Previous Version to see the specific changes.
I would like to be able to supply a changeset from branch-2 and get the changesets that were merged up from branch-1. I have tried QueryHistory but have been unable to get any type of history. This functionality would be the same as the Tracking Changeset in VS 2010. This is needed by the release mgmt team to cross check approved changeset thru the lifecyle.
what you are after is the "tf merges" command;
you should use it as
tf merges branch-1 branch-2 /recursive