Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 分布式版本控制系统(bazaar)中库的开发_Version Control_Bazaar - Fatal编程技术网

Version control 分布式版本控制系统(bazaar)中库的开发

Version control 分布式版本控制系统(bazaar)中库的开发,version-control,bazaar,Version Control,Bazaar,我对bazaar比较陌生(主要使用cvs,然后是subversion,在我目前的工作中,我们使用SourceSafe)。我当前的开发环境结构如下: \dev (shared repository) \trunk \project1 (branch) \project2 (branch) \branches \proj1-bugfix123 (branch of \trunk\project1) \

我对bazaar比较陌生(主要使用cvs,然后是subversion,在我目前的工作中,我们使用SourceSafe)。我当前的开发环境结构如下:

\dev (shared repository) \trunk \project1 (branch) \project2 (branch) \branches \proj1-bugfix123 (branch of \trunk\project1) \proj1-featureA (branch of \trunk\project1) \开发人员(共享存储库) \树干 \项目1(分部) \项目2(分部) \分支机构 \proj1-bugfix123(分支\trunk\project1) \proj1(trunk\project1的分支) 现在,如果我认为project1的某些方面更适合作为一个库(或程序集,因为它是一个c#项目)而不是项目中的类,在bazaar构建它的最佳方法是什么。我提出了两种我认为可行的可能性。首先,我认为是“正确”的方式

\开发人员(共享存储库) \树干 \项目1(分部) \项目2(分部) \libXXX \分支机构 \proj1-bugfix123 \main(分支\trunk\project1) \libXXX(trunk\libXXX的分支) \丙硫脲 \main(分支\trunk\project1) \libXXX(trunk\libXXX的分支) 这样做的问题是,现在我需要记住在创建分支时更新解决方案文件以包含正确的项目,并且不要将其推回,还要记住同时将更改推回项目和库(例如,如果project1中的featureA需要更改libXXX才能工作)

\开发人员(共享存储库) \树干 \项目1(分部) \项目2(分部) \libXXX \分支机构 \proj1-bugfix123(分支\trunk\project1) \libXXX \proj1(trunk\project1的分支) \libXXX 这种方法的问题在于,如果另一个项目(比如project3)想要使用libXXX并进行源代码管理,那么它需要是project1的一个分支,同时删除project1文件。那会很混乱

我想还有第三种选择,就是像在subversion中一样将整个主干作为一个分支,但这似乎与我认为它们在bazaar中应该工作的方式背道而驰


如果这是在SourceSafe中完成的,我会像第二个示例那样,但在两个位置都有libxxx文件夹,但它们是共享的,因为这是SourceSafe必须使用的唯一机制。

您不希望任何新库都有自己的解决方案,并作为该解决方案的一部分进行构建,然后被其他项目引用吗。这样一来,库只生成一个版本(而不是每个解决方案一个版本)

您不希望任何新库都有自己的解决方案,并作为该解决方案的一部分进行构建,然后被其他项目引用吗。这样一来,库中只构建了一个版本(而不是每个解决方案一个版本)

在bzr中还没有简单的解决方案。您需要嵌套树支持,但它尚未实现(),但可能很快就会实现

有一个名为config manager()的旧工具


此外,bzr还有一个名为scmproj()的新插件,它现在是alpha,正在积极开发中。

bzr中还没有简单的解决方案。您需要嵌套树支持,但它尚未实现(),但可能很快就会实现

有一个名为config manager()的旧工具


此外,bzr还有一个名为scmproj()的新插件,它现在是alpha,正在积极开发中。

直到Bazaar中的嵌套树支持得到修复,或者Bazaar开发了类似于Subversion“Externals”的东西(如果我理解正确的话),您将库包含到Bazaar分支树中的灵活性是有限的


在此之前,将库作为一个单独的项目维护在一个整洁的“分支”中。如果您需要项目中包含的库,例如其文件位于项目自身的树中,请将它们复制到整个项目中。如果您对该库中的文件进行了任何更改,并且希望将其贡献回库中,请将这些更改带回该库的本地分支,并在那里合并/提交。

直到Bazaar中的嵌套树支持得到修复,或者Bazaar开发了类似于Subversion“Externals”的东西(如果我理解正确的话),将库包含到集市分支树中的灵活性是有限的


在此之前,将库作为一个单独的项目维护在一个整洁的“分支”中。如果您需要项目中包含的库,例如其文件位于项目自身的树中,请将它们复制到整个项目中。如果您对该库中的文件进行了任何更改,并且希望将这些更改贡献回库,请将这些更改带回该库的本地分支,并在那里进行合并/提交。

好的,库将有自己的解决方案,但在project1中,UI将有.csproj,库将有.csproj。问题是把它们放在哪里。如果你想在多个项目中使用一个库,我想它实际上必须是一个自己的项目(有自己的分支)。好吧,库有自己的解决方案,但在project1中,它的UI有.csproj,库有.csproj。问题是把它们放在哪里。如果你想在多个项目中使用一个库,我想它实际上必须是一个自己的项目(有自己的分支)。 \dev (shared repository) \trunk \project1 (branch) \project2 (branch) \libXXX \branches \proj1-bugfix123 \main (branch of \trunk\project1) \libXXX (branch of \trunk\libXXX) \proj1-featureA \main (branch of \trunk\project1) \libXXX (branch of \trunk\libXXX) \dev (shared repository) \trunk \project1 (branch) \project2 (branch) \libXXX \branches \proj1-bugfix123 (branch of \trunk\project1) \libXXX \proj1-featureA (branch of \trunk\project1) \libXXX