简体   繁体   English

如何将所有这些项目打包到Bazaar?

[英]How do I wrangle all these projects into Bazaar?

Where I work at, we have about 2 dozen or more projects, using SVN as version control. 在我工作的地方,我们有大约2打或更多的项目,使用SVN作为版本控制。 My boss is pretty strict about the repositories, but misguided I think. 我的老板对存储库非常严格,但是我认为这是错误的。 For example, we always have one "Current" branch for development, which gets merged into Trunk before a release. 例如,我们始终有一个“当前”分支用于开发,该分支在发布之前已合并到Trunk中。 For all other purposes, "Current" is the trunk and we don't ever make more branches. 对于所有其他目的,“当前”是主干,我们永远不会建立更多分支。 Likewise, he's picky about file contents, most pointedly, all the References in the project files must adhere to a "flat" directory structure between projects (ie, all project folders in one directory.) 同样,他对文件内容也很挑剔,最直接的一点是,项目文件中的所有引用都必须遵守项目之间的“平坦”目录结构(即,一个目录中的所有项目文件夹)。

Now, I figure that one way I can make my life easier would be to use Bazaar locally so I can work on features in their own branches, make frequent commits locally (for change tracking), possibly reorganize my projects, and generally make my life a little easier. 现在,我认为可以使我的生活更轻松的一种方法是在本地使用Bazaar,这样我就可以在自己的分支机构中使用功能,在本地进行频繁的提交(以进行更改跟踪),可能重新组织项目并通常可以使我的生活更美好容易一点。

Except I can't quite get the repository structure for Bazaar figured out! 除了我不太了解Bazaar的存储库结构! The standard would seem to be something like 该标准似乎是这样的

Project-Repo (Shared Repo)
    /Project-Trunk (Bound to SVN)
    /Project-Feature1 (Branch of Trunk)
    /Project-Feature2 (Branch of Trunk)

Some projects have up to a half-dozen or more references to other projects. 一些项目对其他项目的引用多达六个或更多。 And most features will require changes to at least 2 projects at any given time. 而且大多数功能都需要在任何给定时间更改至少2个项目。 I have no idea how to handle that. 我不知道该如何处理。 If I break the feature branches out into other folders, I lose the shared repository benefits. 如果我将该功能分支到其他文件夹中,则会失去共享存储库的好处。 And if I leave them in place, then I'll have to reconfigure all the references each time I need to branch projects for a new feature. 而且,如果我将它们放置在适当的位置,那么每次我需要为新功能分支项目时,都必须重新配置所有引用。

The best I can think to do is just deal with the lack of shared repos and do something like this: 我能想到的最好的办法就是解决缺少共享存储库的问题,并执行以下操作:

Branches
    /Feature1
         /ProjectA-Branch
         /ProjectB-Branch
    /Feature2
         /ProjectB-Branch
         /ProjectC-Branch

With the trunks all being stored as individual repos elsewhere just for the purpose of merging and final commits back up to SVN. 由于所有干线都作为单独的存储库存储在其他位置,仅用于合并和最终提交回SVN的目的。

Is that the best layout I'll be able to get with Bazaar or are there techniques that I'm unaware of? 这是Bazaar可以提供的最佳布局,还是我不知道的技术? Repository layout is a very challenging exercise considering how common it should be. 考虑到它的普遍性,存储库布局是一项非常具有挑战性的工作。

I think, given the constraints about them all having flat local names, this is probably the best setup. 我认为,鉴于有关它们全部具有统一本地名称的限制,这可能是最佳设置。

You could make some of those directories actually not be whole branches, but just checkouts of the common branch, if you don't intend to modify them. 您可以使其中一些目录实际上不是完整的分支,而如果不打算修改它们,则只需将公共分支检出即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从解决方案中的所有项目中卸载* a *软件包 - How do I uninstall *a* package from all projects in solution 如何以编程方式列出解决方案中的所有项目? - How do I programmatically list all projects in a solution? 如何使用EnvDTE列出当前解决方案中的所有项目? - How do I list all the projects in the current solution using EnvDTE? 如何自动将解决方案中的所有项目设置为相同版本? - How do I automatically set all projects in my solution to the same version? 如何使用共享程序集和项目? - How do I work with shared assemblies and projects? 如何对 Web API 项目进行故障排除? - How do I troubleshoot Web API projects? 在Sonar中运行Stylecop时,如何分析标识为测试项目的项目? - When running Stylecop in Sonar, how do I make it analyze projects identified as test projects? 如何在Microsoft Azure的同一解决方案中引用项目 - How do I reference projects in the same solution in Microsoft Azure 如何在两个项目之间创建事件? - How do I create event between two projects? 如何在MonoDevelop中为MonoTouch项目生成XML注释? - How do I generate XML comments for MonoTouch projects in MonoDevelop?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM