我有一个我认为是棘手的情况,但这通常表明我对一些相当简单的事情一无所知。
我目前有一个php项目,它位于svn 中,称之为“firstproject”。它的工作副本是apache虚拟主机dir,因此我可以通过浏览器在任何开发点愉快地运行这个项目。我现在有了另一个项目' newproject‘,我想使用' firstproject’的一些核心代码,但是当newproject要求我重构第一个项目类的一部分时,我希望它在某个时候被集成回第一个项目中。
有什么方法可以设置svn,这样我就可以在它自己的apache虚拟主机上愉快地拥有newproject的一个工作副本,它包含了来自firstproject和它自己的代码的一些代码,并且svn可以跟踪第一个项目的哪个分支,或者它是一个创建from项目的' newproject‘分支,编辑删除添加newproject代码,然后在它看起来合适的时候将某种代码合并回' firstproject’?
感谢任何能帮助我思考这件事的人,我觉得应该有一个很好的方法,但也许没有。
发布于 2009-10-14 10:27:34
在我看来,第一个项目应该发布一些可交付的(库)。然后,newproject就可以使用它了。
如果该库需要更改,则应在第一个项目中进行更改,并发布。
这就是我通常在非PHP世界中管理这种依赖的方式。我不确定在PHP中是否会有任何不同。这有点麻烦,但您正在构建一个下游项目可以使用的可重用库(注意,请选择它所使用的版本)。
发布于 2009-10-15 09:31:46
如果代码中有很大一部分是通用的,那么您可以考虑为这两个项目使用公共存储库而不是两个单独的存储库。然后,您可以为可能在项目newproject中更改的代码取出一个分支。newproject服务器上的工作区必须来自此分支,以便任何更改都可以提交回分支,并在准备就绪时合并回主干。通过这种方式,您可以将更改合并回第一个项目的主线/主干。
如果您需要一个带有多个存储库签出的工作区,您还可以探索svn外部的另一种混合和匹配方法。我自己还没有实现这一点,但是您可以在这里找到详细信息:http://svnbook.red-bean.com/en/1.1/ch07s04.html
https://stackoverflow.com/questions/1565435
复制相似问题