当前位置:  开发笔记 > 开发工具 > 正文

如何管理共享库?

如何解决《如何管理共享库?》经验,为你挑选了1个好方法。

每次我创建一个项目时,我都会开发几个通用的例程/模块/库,我希望它能用于其他项目.

由于开发速度的原因,我不会花很多时间来完善这些模块 - 这个项目已经足够好了,并且足够记录和隔离,我可以轻松地将它们添加到另一个项目中.

到现在为止还挺好.

现在,当我在另一个项目中使用它们时,我不可避免地要改进它们 - 要么添加新的功能/功能,修复bug,使它们更通用等等.

那时我有几个问题:

我需要为我正在处理的代码维护模块中的更改

我需要在中央"模块"存储库中维护这些相同的更改

我需要确保更新的模块可用,但不能在旧项目中自动使用,有时甚至可用于我现在正在处理的现有项目.

你是如何管理的?当团队在不同项目中处理各种模块时,这些问题有何不同?

-亚当



1> ephemient..:

如果您对所有项目使用Subversion,则可以使用svn:externals:这允许一个存储库引用另一个存储库,可选择固定在特定版本.例如,

svn://svn/shared
svn://svn/project1
  |- dir1
  |- dir2
  \- svn:externals "shared -r 3 svn://svn/shared"
svn://svn/project2
  |- dir3
  \- svn:externals "shared -r 5 svn://svn/shared"

在准备好之后svn://svn/shared,将更改提交给svn:externals各个项目并修改其中的属性.

否则,使用其他VCS,您可能只需保留一堆标记shared,每个项目使用一个标记shared,指向他们使用的版本.准备好后,将每个标签推进到更高版本.这需要手动更新每个项目的副本shared,但有一点是svn:externals好的,它会自动发生.

如果你shared为每个项目分叉/分支......那么,这可以工作,但需要人力来维护和合并变更.

[编辑]

进一步参考:

见外部定义在SVN书的教程和更多的细节svn:externals,并混帐子模块教程在DVCS了类似的功能混帐.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有