How to roll back to a label/date?
Moderator: SourceGear
How to roll back to a label/date?
I know this has been asked a lot of times, and I can't seem to get any of the proposed solutions to work for me. I'm tearing my hair out on this one. Should be very simple. What am I doing wrong?
I am using VS 2008 with Vault. How do I get back to a specific folder version? I've heard "just do a get on the old version and check it in." So I do these steps from within Vault
1. Go into Vault, right click on a folder, and do a recursive checkout, with all the default settings.
2. Right click the folder, choose History, select "view folder history by version", select a version, choose Get Tree, and press OK with all default settings.
3. Now next to each file I can see that the local version is different than the server version. If I right click and choose Check In... Vault tells me the file is unmodified and if I complete the Check In... it keep the newer server version.
I've tried a few different flavors of this - get to a different folder, make the files writable, etc. - but can't find the secret sauce.
Could someone provide a simple "do 1, 2, 3" that explains how to recursively get back to an old version? And please be clear what steps need to happen within Vault and which MUST happen within Visual Studio.
Thanks.
I am using VS 2008 with Vault. How do I get back to a specific folder version? I've heard "just do a get on the old version and check it in." So I do these steps from within Vault
1. Go into Vault, right click on a folder, and do a recursive checkout, with all the default settings.
2. Right click the folder, choose History, select "view folder history by version", select a version, choose Get Tree, and press OK with all default settings.
3. Now next to each file I can see that the local version is different than the server version. If I right click and choose Check In... Vault tells me the file is unmodified and if I complete the Check In... it keep the newer server version.
I've tried a few different flavors of this - get to a different folder, make the files writable, etc. - but can't find the secret sauce.
Could someone provide a simple "do 1, 2, 3" that explains how to recursively get back to an old version? And please be clear what steps need to happen within Vault and which MUST happen within Visual Studio.
Thanks.
Vault won't checkin files with status of "Old." Usually the trick is to checkout the current version of the files, do the Get Tree from History into a non-working folder (you should be able to set the path in the Get dialog. Then copy the files from the non-working folder into the working folder.2. Right click the folder, choose History, select "view folder history by version", select a version, choose Get Tree, and press OK with all default settings.
Let me know if this does not resolve the problem.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
I will try your suggestion. I am feeling uncertain, though, about messing something up.
Here's an anecdote I heard. Lexus puts a small glove in the tire changing kit. So if you are unfortunate enough to get a flat tire at least you can keep your hands clean while you replace it. That shows consideration. Similarly when someone needs to rollback they have probably messed up somehow. And they might be under time pressure to undo their mistake. At moments like these I want the "Save me Sourcegear!" button that will take care of it all easily. I don't want to have to work around the product (because it won't let me check in an old version). I don't want to have to scrounge around in a help file that doesn't explain any of this. I don't want to have to search the support forums for the specific steps that can't be found. I really think you need to improve this in the next version - all the technology is probably there, its just that customers don't know how to piece it together.
Here's an anecdote I heard. Lexus puts a small glove in the tire changing kit. So if you are unfortunate enough to get a flat tire at least you can keep your hands clean while you replace it. That shows consideration. Similarly when someone needs to rollback they have probably messed up somehow. And they might be under time pressure to undo their mistake. At moments like these I want the "Save me Sourcegear!" button that will take care of it all easily. I don't want to have to work around the product (because it won't let me check in an old version). I don't want to have to scrounge around in a help file that doesn't explain any of this. I don't want to have to search the support forums for the specific steps that can't be found. I really think you need to improve this in the next version - all the technology is probably there, its just that customers don't know how to piece it together.
It sounds like you would benefit from the ability to roll back a changeset. This hasn't been implemented yet in Vault but I will add your vote to the feature request that we already have logged for this.
In the meantime, we hope that Technical Support can help with the problem.
In the meantime, we hope that Technical Support can help with the problem.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Yes, sort of. I worked on product teams at Microsoft for 10 years and I understand the need for tradeoffs. At a bare minimum I think you should post step-by-step instructions for how to accomplish this in the help file and in support forums. Otherwise people like me start to think "I'm stupid because I can't figure this out".
I don't know if I'm asking for the same feature that other people are asking for. I don't know what a changeset it. And there are probably a few ways to "rollback" -
(1) undo all changes in Vault to a specific date - everything later than that date/label is destroyed.
(2) check back in the old files to the current project. so the history will show old=>new=>old.
(3) branch off from the old date
I can imagine the "new" rollback feature asking the user what they are trying to accomplish. "Do you want to keep a record of the changes made after this specific date/label?" If no, then do #1 for them. Otherwise ask a question to determine if #2 or #3 is the better way to go. If you can't implement the code for implementing what the customer wants, tell them "sorry - it can't be done but we'll consider it for later" or show them the step-by-step instructions that they can copy/paste or print.
By the way SourceSafe makes the task confusing/impossible too.
I don't know if I'm asking for the same feature that other people are asking for. I don't know what a changeset it. And there are probably a few ways to "rollback" -
(1) undo all changes in Vault to a specific date - everything later than that date/label is destroyed.
(2) check back in the old files to the current project. so the history will show old=>new=>old.
(3) branch off from the old date
I can imagine the "new" rollback feature asking the user what they are trying to accomplish. "Do you want to keep a record of the changes made after this specific date/label?" If no, then do #1 for them. Otherwise ask a question to determine if #2 or #3 is the better way to go. If you can't implement the code for implementing what the customer wants, tell them "sorry - it can't be done but we'll consider it for later" or show them the step-by-step instructions that they can copy/paste or print.
By the way SourceSafe makes the task confusing/impossible too.
I just used Windows drag/drop of the old files on top of the new ones. I then opened Visual Studio and am trying to rebuild the project. It keeps prompting me to save files when I choose Build and then complains the files I'm trying to write over are read-only. Still fumbling around here. If you're able to post step-by-step instructions that would really help me out. Thanks.
That's a perfectly fine way to do it.I just used Windows drag/drop of the old files on top of the new ones.
Was this before or after checking in the files? If before...then why?I then opened Visual Studio and am trying to rebuild the project.
I
If files are being changed in any way during the build, then they will need to be checked out or you can change them to never be read-only. Go to VS Tools - Options - Source Control and set the On Edit option to Check Out.t keeps prompting me to save files when I choose Build and then complains the files I'm trying to write over are read-only.
With the beginning part, you were already doing the right thing. If there's still confusion, it might work better if you send an email to support at sourcegear.com with a link to this thread and we can help you a little more directly.If you're able to post step-by-step instructions that would really help me out.
Re: How to roll back to a label/date?
YES. I want to be able to roll back a specific change set/list. This seems like an elementary feature that should be available, so I was surprised to find out that it wasn't already included in Vault. My organization is planning to switch source control, and the lack of this feature may cause us to select something else. This seems very important to me, and the fact that there's no easy way to do this doesn't make any sense.
Re: How to roll back to a label/date?
We have work item 11336 logged for this. I'll add your "vote" and also bump it up in priority.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: How to roll back to a label/date?
Please add my vote as well... (we have had several users asking for this feature).
Re: How to roll back to a label/date?
It doesn't appear this feature has been implemented yet. I'm really just curious about something - please do not take this as a criticism. To me, as a user, this feature - a recursive rollback to a particular date - seems like an elementary, version 1 type of feature. A core benefit of source control is being able to protect your source code from mistakes - accidental deletions and buggy checkins. And yet Vault - despite being an incredible product in so many ways - doesn't support it. And I don't think Microsoft SourceSafe supported it either. Why hasn't this feature been implemented yet? Is it technically really difficult? Or am I mis-using source control in some fashion and experienced users of source control don't need this capability?