我正在尝试使用Bazaar,试图找到一个适合我正在与一个开发团队合作的项目的配置。我们的模型目前是集中的,但如果我能看到显着的好处,我愿意接受改变。尽管提倡它,但我无法改变版本控制系统......有些人不知道对他们有什么好处。
目前,该项目分为几层。它是一个Web项目,由数据访问层,业务/域逻辑层和Web层(以及一组其他应用程序级项目,如位于域中的服务)组成。
目前我找到了一个集市仓库,里面有许多工作树,每个层面都有一个。
问题第1部分
是否有更好的替代方法在每个层的存储库中使用工作树?
我考虑的是:
我想要解决的问题:
问题第2部分
如果我将这些层中的一个分支用于发布分支,并且发现分支根目录中的更改需要在该发行版中,那么如何仅将所需的更改推送到分支中?
因此,假设每个项目都存在一个工作树(或可能是真正的分支)的结构,我们希望为每个项目都有一个分支,其中包含特定版本的版本。因此,网站树有一个website_rls1分支,它封装了该特定版本的开发状态。稍后发布的一般开发将同时发生。因此,如果许多文件中的一个文件恰好与此版本相关,我想将该单个文件合并到我的发布分支中。这样做的首选方法是什么。据我了解,Bazaar不支持合并/提取单个文件。
我考虑过的事项:
我想补救的是什么:
任何想法都赞赏。
答案 0 :(得分:2)
#1 有两个用于管理多个相关bzr存储库的插件:
他们有不同的方法,适合不同的情况。
您可能还想考虑在构建级别解决此问题。使用像Jenkins这样的持续集成系统和像Ivy或Maven这样的依赖性解析系统。 QA应该使用此系统中的自动构建来完成,以便提交的错误可以引用特定的构建号,该构建号应该在其日志中包含用于生成该构建的各种依赖项的版本。
#2 没有办法合并。 Bazaar没有追踪樱桃选择合并(尚未)。更好的方法是在发布分支中创建原始修复,然后将其合并回其父级。