SVN存储库和元数据

SVN存储库和元数据,svn,Svn,目前,我们正在将我们的php产品代码直接签入www。通过这一点,我们获得了站点所需的所有Netbeans元数据和项目文件,我们必须不断地从www中管理元数据文件,以便它们无法从浏览器访问,所有svn元数据和文件也是如此。是否有一种方法可以检出生产代码并将其与您不希望用户看到的所有文件分离 而且,我们应该首先签入我们的netbeans项目文件吗?对于大型项目,我通常会编写一个脚本来签出项目,删除任何额外的文件。我通常会从生产副本中删除任何不需要的文件,如sql、安装脚本等,并创建一个tarball

目前,我们正在将我们的php产品代码直接签入www。通过这一点,我们获得了站点所需的所有Netbeans元数据和项目文件,我们必须不断地从www中管理元数据文件,以便它们无法从浏览器访问,所有svn元数据和文件也是如此。是否有一种方法可以检出生产代码并将其与您不希望用户看到的所有文件分离


而且,我们应该首先签入我们的netbeans项目文件吗?

对于大型项目,我通常会编写一个脚本来签出项目,删除任何额外的文件。我通常会从生产副本中删除任何不需要的文件,如sql、安装脚本等,并创建一个tarball


然后,我将tarball部署到临时服务器。一旦我们对暂存服务器的状况满意,我们就将相同的tarball部署到活动服务器。这使我们有机会清理树,测试生产副本,并知道在生产环境中部署时不包括可能导致问题的任何后续更改。

对于大型项目,我通常编写一个脚本来签出项目,删除任何额外文件我通常会从生产拷贝中删除任何不需要的文件,如sql、安装脚本等,并创建tarball


然后,我将tarball部署到临时服务器。一旦我们对暂存服务器的状况满意,我们就将相同的tarball部署到活动服务器。这使我们有机会清理树,测试生产副本,并知道在生产环境中部署时不包括可能导致问题的任何后续更改。

将项目文件/元数据提交到存储库是一个有争议的话题。纯粹主义者说,存储库纯粹是用于应用程序的源代码,因此任何人都可以在不依赖任何开发环境配置的情况下签出代码,正如其他人所说,在这些环境配置中,它很有用,可以节省时间

如果您的团队使用相同的IDE,并且将贯穿整个项目生命周期,那么我认为这是可行的。然而,就我个人而言,我的工作场所总是忽略来自IDE(如Eclipse)的元数据和构建过程的输出

为了解决将源代码直接复制到生产环境的问题,我建议使用持续集成或构建服务器来执行此任务。然后,您可以提供一个生成文件来执行删除不需要的文件的重复工作


接下来,您可以向构建链添加另一个工具,以自动化测试、语法检查、代码美化和部署到其他服务器等任务。

将项目文件/元数据提交到存储库是一个有争议的话题。纯粹主义者说,存储库纯粹是用于应用程序的源代码,因此任何人都可以在不依赖任何开发环境配置的情况下签出代码,正如其他人所说,在这些环境配置中,它很有用,可以节省时间

如果您的团队使用相同的IDE,并且将贯穿整个项目生命周期,那么我认为这是可行的。然而,就我个人而言,我的工作场所总是忽略来自IDE(如Eclipse)的元数据和构建过程的输出

为了解决将源代码直接复制到生产环境的问题,我建议使用持续集成或构建服务器来执行此任务。然后,您可以提供一个生成文件来执行删除不需要的文件的重复工作


在此过程中,您可以向构建链添加另一个工具,以自动化测试、语法检查、代码美化和部署到其他服务器等任务。

svn导出项目,而不是签出项目。这将消除任何svn元数据。除此之外,我还同意acrosman的建议:手工创建脚本或清除文件


我不知道NetBeans以及它会自动生成多少您可能已包含在svn中的内容,但在我们的项目中,svn会忽略任何可由构建工具复制的自动生成文件。

svn会将其导出,而不是签出项目。这将消除任何svn元数据。除此之外,我还同意acrosman的建议:手工创建脚本或清除文件

我不知道NetBeans以及它会自动生成多少您可能已经包含在svn中的东西,但在我们的项目中,svn会忽略任何可由构建工具复制的自动生成的文件