【发布时间】:2012-04-11 09:26:00
【问题描述】:
我目前正在尝试使用 Bazaar,试图找到一种适合我目前正在与开发团队合作的项目的配置。我们的模型目前是中心化的,但如果我能看到显着的好处,我愿意说服改变这一点。尽管提倡,但我将无法更改版本控制系统……有些人不知道对他们有什么好处。
目前,项目分为层级。它是一个 Web 项目,由数据访问层、业务/域逻辑层和 Web 层(以及一堆其他应用程序级项目,例如位于域中的服务)组成。
目前我找到了一个集市存储库,里面有许多工作树,我提到的每一层都有一个。
问题第 1 部分
有没有更好的替代方法来在每一层的存储库中使用工作树?
我的考虑:
- 将所有内容放入一个粗大的分支/工作树中(有人告诉我这是故意避免的,因为需要检查所有内容)。开发人员通过检查多个存储库的子集来创建自己的本地设置。例如,如果我正在处理其中一项服务,我会将服务、业务层和数据访问层签出到本地目录。不过,在当前设置中,我可以签出一个不影响其他任何内容的顶级应用程序,对其进行更改并将其提交回来,而无需检查整个存储库,其大小接近 1GB。
我想要解决的问题:
- 问题实际上是我的 Web 层依赖于 业务层又依赖于数据访问层。 像这样组织的项目,我不知道哪个版本的 对于给定的提交,业务和数据访问层是最新的 在 web 层上。这对我来说感觉非常糟糕。我希望能够 相对于某个提交的我们应用程序的结帐版本 的工作树。目前我们正试图跟踪 这在所有带有标记的工作树中,但感觉 对我来说非常错误。
问题第 2 部分
如果我为发布分支分支其中一个层,并发现分支根目录中的更改需要在该版本中进行,我如何仅将那些需要的更改推送到分支中?
因此假设每个项目都存在一个工作树的结构(或者可能是一个真正的分支),我们希望每个项目都有一个分支,其中包含特定版本的版本。所以网站树有一个 website_rls1 分支,它封装了该特定版本的开发状态。后续版本的一般开发将同时进行。因此,如果多个文件中的一个恰好与此版本相关,我想将该单个文件合并到我的发布分支中。这样做的首选方法是什么。据我了解,Bazaar 不支持合并/拉取单个文件。
我的考虑:
- 只需将我想要的文件放入发布分支的本地签出并提交
我想解决的问题:
- 考虑到这一点,该文件的版本信息将被取消。我想保持版本信息完整,但只合并更改的子集。我基本上想将单个文件推送到子分支,或者类似的东西。
任何想法表示赞赏。
【问题讨论】:
标签: bazaar