从实际项目中保存库的最佳实践是什么?

Nie*_*els 5 php svn directory-structure

出于某些教育原因,我刚刚开始建立自己的图书馆.它起初是一个带有一些可用类的简单库,但由于它每天都在增长,而且我已经在一些项目中使用它,因此我开始无法跟踪变化,因为我没有使用它SVN.

现在我开始使用SVN我想将库以及项目添加到不同的SVN存储库.每个项目一个(因为图书馆也是一个项目).

将我的图书馆与项目区分开来的最佳做法是什么?每个项目都有一个/library/目录,其中包含所有类型的库.那么我的最佳做法是遵循:

  • 我可以/library/framework/在项目SVN中添加目录并将其设置为ignore,然后检查该目录中的库(这是否可能?)
    • Pro:每个项目都有自己的框架,如果框架可能会改变,它不会破坏项目中的任何代码.
    • Con:如果我有100个项目并且他们都需要一个必要的更新(安全方面),我必须手动更新所有项目.
  • 我也可以在服务器上的某处检查库,并/library/framework/在项目svn中忽略它之后对目录进行符号链接.
    • 专业版:一次更新将修复所有项目,以便进行必要的更新.
    • Con:如上所述:一次更新将修复/更改所有项目......
    • Con:如果项目需要设置到另一台服务器(不是我的......)怎么办?

有什么想法吗?

pro*_*son 3

我通常使用svn externals来实现这一点。因此,我将在项目中创建库目录,然后为单独的库和组件添加外部定义。

这不一定能解决您更新多个项目的问题,但在我看来,这是一个可以通过自动化处理的单独问题,并且在我们谈论组织/版本控制/开发时不会发挥作用。

  • 默认情况下它将更新外部。因此,根据您的开发方法以及外部项目的组织方式,您可能希望将事物固定到特定标签或保证维护 BC 的分支。不过,您始终可以在更新命令中使用“--ignore-externals”标志,但这不会获得最新版本。 (2认同)