I have little question, we have an project and I have made some changes in one file and I need to undo those changes ( I have not checked them ) and I need to get the latest version. If I will go for "Undo pending changes" it will only change my files and will not change TFS files right ?
Yup. Changes are only local until you commit them in tfs.
Related
We had a corruption in our TFS database and had to restore it to a previous time. This caused our workspaces to be 'in the future' and our TFS server to be 'in the past'. I tried to do a check in so that VS would update TFS to the latest version but it only checked in the files I had modified since the last check in.
Since the last check-in was after the last backup and is now gone, how do I synchronise TFS so that it has the lastest version which is on my machine?
you will need to perform "add items to folder" action instead of "check in pending changes"
There is probably an easier way but in the past this has worked fairly well.
Make a full copy of your local
Do a complete get latest/force/overwrite
Checkout the entire folder
Overwrite the working folder with your copy
Use a diff tool (or whatever method you want) to do the manual adds/deletes to TFS that won't come in when you copy
Check in the entire folder (only the changed files will mark in history) - a comment like "fixing corruption" is helpful for the future
Files will all be in TFS and up to date. Obviously history/labels/merges/etc are gone.
I have done some work on my code and shelved it, then I had to apply a patch to the code from a shelveset to get things working properly. I then had to fix something else in the code and now wish to make a shelveset, but without the patch, so I want to undo the shelveset that I applied.
Is this possible and if so, how?
Given the state you're currently in: No.
If the original shelveset still exists you could "undo pending changes" then reapply the original shelveset.
There is no local history available to you.
I read some articles but my English isn't too sharp and I am still confused.
I have shelved changes. Is it possible to restore these changes in local repository?
I found my shelve changes and opened. Than I have two checkboxes:
a) Restore work items and check-in notes;
b) Preserve shelveset on the server.
If I press "Unshelve" what will happen? Restore changes? What is the purpose of these checkboxes?
a) Restore work items and check-in notes;
When you shelve the changes it is similar to doing a Check in, by that you can shelve your files and tag workitems and add the check-in notes that you would use if you were doing a check-in. so the shelveset will be created and any comments you have added and any work items you have linked will be stored with the shelveset. when you then unshelve, the files will be brought back to your local workspace and associated work items and comments will be prefilled in the pending changes window
b) Preserve shelveset on the server.
when you choose this option the files will be restored to your workspace, but the shelveset will remain on the server. by ticking this box you can unshelve the changes and make changes to the files, should you decide that the changes yyou have made are not required, you can then undo the pending changes and again restore the same shelveset as it was retained on the server.
I accidentally rolled back an entire changeset. How can I undo that operation, and restore the changeset?
If you select "Rollback Entire Changeset" in TFS, it changes the local files so that the changes made in the changeset are reversed.
Since this is a local change and does not take effect until you check the changes in, you can "undo" the rollback by using "Undo pending changes" on your project. Note this will also mean any other uncommitted changes would also be lost, so use with care.
You can always "View History" and retrieve a particular Changeset...
Get the Latest version and Rollback the earlier roll-backed change set and now they get checked out and now check in the changes after required modifications.
Alternatively you can use the following command in visual studio command window:
tf rollback /changeset:changeset_number
TFS shows some pending changes under my name, but I have not changed anything. When I check in and see View Pending changes, I see some of the changes which I have never made, changes pending under some other user might be shown as my pending changes. When I unselect and check-in my changes, these are still locked under my name? Is this due to auto-checkout or any other reason? (TFS policy requires a compile before check-in)
This is probably due to the automatic checkout feature in TFS.
TFS uses an atomic check-in process and is very careful about recording who did what. When you start editing a file (or the IDE edits one on your behalf, for example a .csproj or .vbproj file) then the file will show up in your pending changes list to show you that you have the file checked out with an edit pending.
To see your pending changes list, go to View, Other Windows, Pending Changes in Visual Studio.
To check-in any pending changes you can right click on the file in solution explorer or you can select it in the pending changes view. Only then will the change be committed into version control. From the pending changes view you can compare with the server version to see what changes you have made.
To see the changes that have been committed to the server you can right click on a file or folder and select "View History".
If you want to remove the pending change and restore the file to what it was before you edited it you can right click on the file and select "Undo Pending Changes".
If you want to change the auto check-out behaviour to prompt you before it performs a check-out, then go to Tools, Options, Source Control, Environment and change the Checked-in items for Saving and Editing to "Prompt for check out" rather than the default which is "Check out automatically".
Hope that helps,
Martin.
I've had a similar issue; TFS still says I've got pending changes that when I compare declares as being identical. This post comes up with a way to prune out all the identical ones and to leave you with only the files that actually have changed.
The problem might have to do with different workspaces that you use or have used possibly on different computers. Check the workspaces that exist and see if the files are checked out anywhere else. Here the sidekick tool mentioned in a comment can help.