Svn 在开发服务器上使用Subversion的最佳实践?

Svn 在开发服务器上使用Subversion的最佳实践?,svn,version-control,Svn,Version Control,我在一台服务器上安装了VisualSVN,我正在使用它来准备我编写的web应用程序——目前这些应用程序都是经典的ASP/VBScript。我在上面编写代码的开发工作站安装了TortoiseSVN,我可以连接到我创建的存储库文件夹-我使用以下结构: development (repository) -- my_application -- branches -- tags -- trunk -- another_application -- bran

我在一台服务器上安装了VisualSVN,我正在使用它来准备我编写的web应用程序——目前这些应用程序都是经典的ASP/VBScript。我在上面编写代码的开发工作站安装了TortoiseSVN,我可以连接到我创建的存储库文件夹-我使用以下结构:

development (repository)
  -- my_application
     -- branches
     -- tags
     -- trunk
  -- another_application
     -- branches
     -- tags
     -- trunk

我还配置了IIS,并指向服务器硬盘上的另一个文件夹来存储所提供的文件。是否有将提交推送到链接到IIS的文件夹的最佳实践,以便在提交/迭代之后,我可以给我的用户一个URL以查看演示站点并自己进行测试?我很惭愧地说,我以前从未真正使用过版本控制,所以我对使用它的最佳方式有点不知所措。

我可以看出你已经完成了功课,你的存储库布局是由这本书设置的。我不确定VisualSVN在签出方面做了什么,但如果您想将更改推送到网站,则无论是以交互方式还是按计划进行,都很容易做到

cd到webhome


svn公司[svn项目uri]

我可以看出你已经完成了你的家庭作业,你的存储库布局是由这本书设置的。我不确定VisualSVN在签出方面做了什么,但如果您想将更改推送到网站,则无论是以交互方式还是按计划进行,都很容易做到

cd到webhome


svn co[svn项目uri]

首先,我建议您在不同的存储库中保存不同的应用程序


每次提交都会增加版本号,所以您可能会遇到下一种情况:第一个应用程序很长时间没有更新,但由于第二个应用程序更新,它的版本号会不断增加。

首先,我建议您在不同的存储库中保留不同的应用程序


每次提交都会增加版本号,因此您可能会遇到下一种情况:第一个应用程序很长时间没有更新,但由于第二个应用程序更新,它的版本号会不断增加。

首先,我同意其他评论,您的存储库格式是按书中的分支、标记和主干设置的。我还建议按照前面提到的每个项目拆分存储库。我曾经参与过有一个共享存储库和拆分存储库的项目,拆分存储库工作得更好。另外,如果有任何理由限制对其中一个存储库的访问,也就是说,你让其他人访问存储库,而你只想让他们看到两个项目中的一个,那么将它们分开就更容易了

无论如何,我建议在部署中使用MSBuild。可以创建从SVN签出的MSBuild项目文件,生成解决方案文件,然后将其部署到网站。您可以在MSBuild项目文件中添加这样一行来执行签出:

您还可以做一些事情,例如在发布版本后创建一个项目以签出特定的版本/标记。在按此路线进行部署时,可以做的事情有相当大的灵活性


有关MSBuild的更多详细信息,您可以找到Microsoft MSBuild参考指南。

首先,我同意其他评论,您的存储库格式与分支、标记和主干一致。我还建议按照前面提到的每个项目拆分存储库。我曾经参与过有一个共享存储库和拆分存储库的项目,拆分存储库工作得更好。另外,如果有任何理由限制对其中一个存储库的访问,也就是说,你让其他人访问存储库,而你只想让他们看到两个项目中的一个,那么将它们分开就更容易了

无论如何,我建议在部署中使用MSBuild。可以创建从SVN签出的MSBuild项目文件,生成解决方案文件,然后将其部署到网站。您可以在MSBuild项目文件中添加这样一行来执行签出:

您还可以做一些事情,例如在发布版本后创建一个项目以签出特定的版本/标记。在按此路线进行部署时,可以做的事情有相当大的灵活性


有关MSBuild的更多详细信息,请参阅Microsoft MSBuild参考指南。

我建议不要使用单独的存储库。任何值得使用的svn客户端都会向您显示相应的修订版本。与多个存储库相比,只有一个版本的备份非常容易。我看不出单独备份的缺点。在历史上,你会看到什么都没有改变。“修订只是一个数字,没有更深的意义。”布塔,这是对我还是对阿巴蒂什切夫?因为你的评论令人困惑。你是支持还是反对单独的存储库?是的,修订版只是一个数字,但它的更改意味着里面有一些代码更改。但在单个存储库的情况下,实际上您将在没有它的情况下得到更改。我想那不是
有用的当然,这只是一个观点。您的逻辑可以应用于存储库中的每个文件。您应该使用“每个存储库一个文件”策略,因为文件可能位于修订版150,但自修订版100以来未更改。每个项目的共享修订号不是不使用单个存储库的原因。我建议不要使用单独的存储库。任何值得使用的svn客户端都会向您显示相应的修订版本。与多个存储库相比,只有一个版本的备份非常容易。我看不出单独备份的缺点。在历史上,你会看到什么都没有改变。“修订只是一个数字,没有更深的意义。”布塔,这是对我还是对阿巴蒂什切夫?因为你的评论令人困惑。你是支持还是反对单独的存储库?是的,修订版只是一个数字,但它的更改意味着里面有一些代码更改。但在单个存储库的情况下,实际上您将在没有它的情况下得到更改。我认为那没用。当然,这只是一个观点。您的逻辑可以应用于存储库中的每个文件。您应该使用“每个存储库一个文件”策略,因为文件可能位于修订版150,但自修订版100以来未更改。每个项目的共享修订号不是不使用单个存储库的原因。如果您的暂存服务器可以访问存储库,则很容易找到。每次只需将其导出,或者签出并更新它以将更新推出。这只适用于您的代码,而不适用于数据库更改。如果您的暂存服务器可以访问存储库,则很容易实现。每次只需将其导出,或者签出并更新它以将更新推出。这将只适用于您的代码,而不适用于数据库更改。对于每个项目的一个存储库,这是不可信的。Subversion可以很好地处理庞大的存储库,并且只有一个存储库可以减少维护开销。只需备份一个存储库,只需维护一个authz文件,新项目无需额外的apache配置……每个项目只有一个存储库是不可信的。Subversion可以很好地处理庞大的存储库,并且只有一个存储库可以减少维护开销。只需备份一个存储库,只需维护一个authz文件,新项目无需额外的apache配置。。。