在为Windows和Linux / Unix开发Web应用程序时,如何正确使用SVN?

时间:2011-11-28 05:40:01

标签: svn version-control

我们目前正在开发一个旨在在Linux / Unix Web服务器和Windows Web服务器上运行的Web应用程序。我们的两个系统的应用程序非常相似,是一个外部库(wkHTMLtoPDF),它的包装器是它们之间唯一真正的区别。

因此,我们希望维护一组公共文件,这些文件将在开发中积极进行,而特定于操作系统的库则保持分开。这是特别相关的,因为我们的一些开发人员在Linux中工作,其他人在Windows中工作,其他人在MAC中工作。

到目前为止,我们一直在锁定那些库和包装器,但有时会有人忘记,而且它会变得混乱。

为了解决这个问题,我想到了创建不同的存储库:

  1. 通用
  2. UNIX 32
  3. UNIX 64
  4. 当有人结账时,他们会选择下载Common +所选操作系统的版本。文件应位于同一文件夹中,但对这些文件的任何更改都将提交到各自的存储库。

    这可能吗?

    注意:这些文件实际上不在同一文件夹中,因为wkhtmltopdf将存在myapp / libraries / wkhtmltopdf中,而其余文件位于myapp /

1 个答案:

答案 0 :(得分:3)

当然,您的解决方案是可行的。您可以创建四个提到的存储库,并在检出每个特定于平台的存储库时使用svn :: external属性来获取公共存储库。但是,就您为不同平台开发单个Web应用程序而言,分离存储库并不是一个好习惯。这样做,标记整个产品(例如所有平台特定的部件)是一项艰苦的工作。