Visual Source Safe - 从Web项目中删除文件

时间:2008-12-31 15:41:10

标签: visual-studio version-control visual-sourcesafe

我会尝试尽可能地直截了当。

  1. 目前我们的团队有一个VSS数据库,用于存储我们的项目。
  2. 开发人员抓住代码并放在他们的localhost机器上并在本地开发。
  3. 指定开发人员抓取最新版本并推送到开发服务器。
  4. 问题是,当从项目中删除文件时(通过在VS2008中删除它),下次另一个开发人员(不是删除它的人)签入时,会提示他们签入这些已删除的文件,因为他们仍然在他们的本地机器上有一份副本。

    有解决方法吗?让VSS指示客户端计算机删除这些文件而不提示他们重新登录?这是什么首选方法?


    编辑注释:

    1. 我同意SVN优于VSS
    2. 我同意Web应用程序项目优于Web站点项目
    3. 问题:从类库中删除的文件也会发生同样的事情。

5 个答案:

答案 0 :(得分:5)

你唯一的办法是停止使用网站项目。网站项目使visual studio自动将它在项目路径中找到的任何内容添加到项目中。

相反,请转到没有此行为问题的Web应用程序项目。

网站项目有利于单人开发。

<强>更新

从过去的日子开始,VB商店出现了类似的问题,因为无论安装什么,都会影响构建过程。您可以从他们的剧本中获取一个页面并拥有一个“干净”的构建机器。在进行部署之前,您将删除所有项目文件夹,然后执行最新操作。通过这种方式,您可以确保部署的唯一内容就是源代码控制中的内容。

顺便说一下,这也是TFS Build服务器的工作方式。它删除工作区,然后创建一个新工作区并下载必要的项目文件。

此外,您可以考虑使用Cruise Control之类的东西来处理构建。

答案 1 :(得分:1)

也许开发人员应该注意只检查或添加他们一直在做的事情。如果他们正在添加他们甚至不使用的东西,那就是它的草率。

答案 2 :(得分:0)

您最好的解决方案是切换到更好的版本控制系统,如SVN。

在我的工作中,我们最近从一家外包公司获得了一个项目,该公司确实使用VSS作为其版本控制。我们能够从VSS将所有更改历史记录导入SVN,并在此时使用SVN快速启动并运行。

使用SVN,您可以设置文件和文件夹的忽略,因此您的Web项目中的文件不会被放入SVN,并且忽略属性会被检出到每个开发人员的计算机上

我相信我们使用VSSMigrate迁移到SVN http://www.poweradmin.com/sourcecode/vssmigrate.aspx

答案 3 :(得分:0)

VSS是一个糟糕的版本控制系统,您应该切换到SVN,但这与问题的症结无关。项目文件包含对实际属于项目的文件的引用。如果没有检查visual studio项目及其更改,则任何其他开发人员都无法完全更新,因此查询在从VSS获取最新文件时删除文件。从那里你有多种选择......

  1. 使vbproj成为存储库的一部分。任何项目级别的更改都将成为提交的一部分,并且可以通知其他开发人员。这里的问题是它也将在开发服务器上。理想情况下,您可以使用接近同一进程来部署到dev,就像部署为release一样。这导致另一种方式......

  2. SVN为几乎所有重大事件提供了钩子,其中钩子实际上只是一个正确命名的批处理文件/ exe。出于您的目的,您可以使用提交后挂钩在每次提交时将相应的文件(例如通过ftp)推送到服务器。文件问题得到解决,更重要的是更接近持续集成的概念。

答案 4 :(得分:0)

您可能想要考虑做的事情:

  1. 获取最新(递归)
  2. 登记入住......
  3. 它是一个手动过程,但它可能会给你想要的结果,如果VS谈到已删除的文件,你知道它们应该在步骤1中从本地机器中删除。