我一直在寻找一种简单的方法来将一些待办事项和注释与我的个人项目一起保留在版本控制中,并且在此过程中我到处都遇到了ditz和错误。Ditz 自述文件提到有 3 种不同的方式来维护文件,其中一种是:
将问题数据库保留在存储库中,但在单独的分支中。问题更改可以由您的 VCS 管理,但不直接与代码提交相关联。
这使我认为我可以使用相同的东西将一些用于打包的文件保存在与其他一些开发人员共享的存储库中,我现在将这些文件分开。所以我有几个问题:
- 为什么我应该使用/不使用这种方法?
- 这个设置如何?不是专门针对 Ditz,而是针对任何文件。
- 它是如何每天工作的?
我几乎没有使用分支的经验,而且在我所见的任何地方,它都被用来保存经过编辑的主干副本,稍后将被合并。我主要使用颠覆,但 dvcs 的答案也可以,只要它可以翻译。
更新
我对此进行了更多研究,这就是我发现的。以下适用于颠覆。
从svnbook,
Subversion 没有分支的内部概念——只有副本
这可能意味着 svn 分支并不完全符合 ditz 自述文件中的建议。在我看来,ditz 的建议可以使用svn:externals
. 假设以下结构:
/trunk/project1/
/trunk/project2/
/branches/notes/
可以将svn:externals
project1 和 project2 中的属性设置为:
notes http://reposerver/branches/notes
通过这种方式更新项目的工作副本也将获得“外部”注释,但提交需要单独针对 projectX 树中的注释和其他文件进行。除此之外,一切都和往常一样。缺点或多或少是 svn:externals 的缺点,即仅适用于目录并且它们被定义为绝对 URL。
不过,如果有人有任何进一步的见解,我会很感兴趣。