撤消使用Sourcesafe获取最新版本

时间:2009-03-31 21:37:02

标签: .net version-control visual-sourcesafe recovery

有没有办法从项目中撤消get-latest-version?我已经在一个项目上工作了一个星期,从未检查过我正在处理的文件。一位同事不得不从我的电脑上传一个版本,所以他在整个解决方案中使用了get-latest-version(递归)命令。

我的Visual Studio似乎有问题,它允许编辑而不检查文件,所以我的所有编辑都没有检查文件。当Vs提示我的同事检查保留更改或用SourceSafe替换本地版本时,他选择用SourceSafe的版本替换本地版本,并配置我的VS以便它将该设置应用于每个文件。

所以,我刚刚失去了本周的工作。有没有办法还原这个?

7 个答案:

答案 0 :(得分:11)

您可以尝试使用Vista中的先前版本功能,假设您正在运行该功能。除此之外,如果你没有备份,那你几乎搞砸了。

我还要将其归结为学习经验 - 经常办理登机手续。如果我失去了一天的工作,我会感到愤怒,更不用说整整一周了。

答案 1 :(得分:5)

哎哟。这里的IT部门每天从机房的磁带系统备份每台机器。你可能会问你在哪里做类似的事情。

有几个问题:

1)Sourcesafe不安全。做一些谷歌搜索。您的组织正在使用它来要求发生灾难。

2)让别人驾驶你的机器通常不是一个好主意。每个人都做不同的事情,乔治在乔治的机器上安全操作可能对你不安全。让人们通过这些事情与你交谈 - 如果他们向你介绍你从未做过的事情,那么无论如何你更有可能以这种方式学习新东西。

3)在您的源代码管理工具中设置代码的一个分支,这样您就可以在夜间办理登机手续 - 即使您没有处于工作状态。这是一种免费的备份方式。

我希望你找到解决问题的方法。

答案 2 :(得分:3)

此外,如果您的应用程序是.NET并且您已经构建并且仍然具有二进制文件(检查您的回收站),则可以使用反射器或类似工具来尝试反编译二进制文件。 (http://www.red-gate.com/products/reflector/)只要您没有对代码进行模糊处理,您就可以检索一些工作......

答案 3 :(得分:0)

VSS可以在编辑和合并模式下运行,只是没有人会选择该选项。您可能是例外,因此请检查您的设置。它还可以在没有设置只读标志的情况下签出文件。

不幸的是,VSS的getlatest只是抓住了数据库中的最后一个版本并将其复制到你的文件系统之上,就是这样。对不起,但你丢了工作。你可能很幸运,并在回收站中找到它。

所以你可以选择恢复工作:备份?如果你有它们,请在它们被当前文件覆盖之前立即获取它们。系统还原?如果你设置了它,你可能会保存你的工作。

下次:获取像Mozy这样的连续备份系统,或者使用commit-often模型(定期将工作保存到分支机构或备用数据库中,当您完成后,再将其全部检入正确的数据库位置)。

答案 4 :(得分:0)

在使用sourcesafe的版本替换本地版本之前,

VSS警告。 因此,如果您没有备份数据,那么您的本地版本将被完全删除

答案 5 :(得分:0)

有些人没有意识到这一点,但备份和源代码控制是两回事。这种情况就是备份的用途。

如果您的IT人员至少不定期备份PC配置文件,我会感到非常惊讶。如果没有,您可以尝试另一种备份。在停车场等候,直到你的“同事”走过你的车,然后备份他们。 : - )

答案 6 :(得分:0)

如果这是一个ASP.Net项目,您可以尝试查看临时ASP.Net文件目录(隐藏在%system%目录中),假设您在破坏本地文件后没有运行该项目。