我正在开发一个基于django-lfs的电子商务网站,我发现我需要对django-lfs核心文件做一些修改.例如,向模型添加其他属性、更新视图、添加url模式等。我开始将django-lfs放在我的pythons站点-packages路径中,如果我需要对代码进行任何更改,我要么重新定义url模式(在视图中需要做一些不同的事情),要么重新定义猴子补丁代码。
这背后的想法是,我将能够保持原始django-lfs主干干净和不动,允许我将其更新到最近的版本,然后独立地更新/测试本地重写、子类和猴子补丁编写。
正如您可能已经猜到的,这很快就变成了一场噩梦,因此我迫切需要一个更干净、更稳定的解决方案。
客户端项目位于git中,因此我一直在研究子模块或子树合并策略.然而,从我所读到的所有东西中,我发现很难找到任何简单易懂的明确答案(我对git还比较陌生)。
简言之,我需要能够:
( 1)将外部git存储库包含到主项目回购中( 2)直接更改外部回购(但让它推送到项目git回购而不是外部远程源),或者创建外部回购的本地副本,然后定期将外部回购与复制的文件夹合并。
不过,我不知道如何做到这一点。为了明确起见,我想以以下文件夹结构结束:
- EXTERNAL-REPOS
- django-lfs
在外部-repos文件夹中的lfs应用程序应该能够从官方(外部) django-lfs存储库中提取更新,并且我应该能够自由地对存储在应用程序文件夹中的tehe lfs文件夹进行更改。
如果可能的话,我要寻找的是一组git命令/指令,以实现上述目标,并利用上面概述的实数文件夹,而不是使用foo和bar引用。
我紧紧地握住手指,希望外面的人能给我一些建议:)
发布于 2010-07-13 18:08:54
我对此的快速理解是:在比特桶或github上分叉项目(取决于您对hg和git的偏好),并为您的更改创建一个分支。
这将使您的分支和官方大师保持同步变得更容易。
然后,假设您使用pip+virtualenv,则在pip需求文件中添加指向回购/分支的指针。
不幸的是,LFS使用了构建出来,所以不太确定python setup.py develop的等效性(即在您的虚拟站点中安装包-包,但是链接回您的回购,这样您就可以在不需要不断运行setup.py的情况下进行更改)。
https://stackoverflow.com/questions/3239326
复制相似问题