Python 使用版本控制智能地管理具有多个模块的项目

Python 使用版本控制智能地管理具有多个模块的项目,python,svn,version-control,Python,Svn,Version Control,我正在逐渐将一个经典的ASP项目移植到Python和HTML。此移植旨在创建一个核心web应用程序,我可以为每个客户使用不同(或共享)模块和自定义来扩展该应用程序。 实际状态是一个基于python核心、python客户项目和桥接组件的应用程序,该桥接组件为web客户端提供适当的文件 想象一下这个场景: 核心 |_客户1:核心+模块A |_客户2:核心+模块B |_客户3:核心+模块A+模块B(A和B不是分开的模块,但坚持一些共享文件) 假设现在有进一步的请求: 1) 修复模块a中的错误,并将其传

我正在逐渐将一个经典的ASP项目移植到Python和HTML。此移植旨在创建一个核心web应用程序,我可以为每个客户使用不同(或共享)模块和自定义来扩展该应用程序。 实际状态是一个基于python核心、python客户项目和桥接组件的应用程序,该桥接组件为web客户端提供适当的文件

想象一下这个场景: 核心 |_客户1:核心+模块A |_客户2:核心+模块B |_客户3:核心+模块A+模块B(A和B不是分开的模块,但坚持一些共享文件)

假设现在有进一步的请求: 1) 修复模块a中的错误,并将其传播给客户1和客户3 2) 添加带有模块C的客户4,但a和B也是

我的梦想是拥有一个版本控制系统(或类似的系统),它可以让我在“分支”中移动,但可以自动告诉我只有在模块a或模块a+B上才能更新和开发哪些文件

另一种方法是在主分支上开发每个模块,然后执行大量“if-else”来为模块的正确“merge”提供服务,但是我开发的模块越多,解析时间就越长,维护源代码就越困难


一些想法?

是否每个客户都单独部署?客户是否获得代码?在这种情况下,核心项目将是一个回购协议,每个客户将有一个单独的回购协议。您需要为每个repo执行python setup.py构建,并使用python轮子处理依赖项。Hy tdelaney!每个客户都有一个单独的部署,但没有得到代码:项目是一个web应用程序,因此客户通过浏览器使用它,只看到结果html。此时,有一个核心回购和许多客户回购,但问题是:如果两个或多个客户共享一个模块,并且该模块在客户回购中,我必须在每个客户回购中保存和修复,这是浪费时间和金钱的。