如何使用git和buidout在没有符号链接的情况下使用共享子应用程序构建python项目

Kyl*_*ley 5 python git buildout git-submodules git-subtree

我有多个项目与其他项目共享子应用程序.在项目目录中工作时,我希望能够对应用程序进行更改,更新它,并将这些更新提取到第二个项目中.

需求:

  • 不使用符号链接(我的IDE的调试器不适合它们)
  • 没有编译/重新运行脚本.我想对应用程序进行更改,而无需重新运行脚本/ buildout.
  • 应用必须位于项目文件夹中.

这是结构:

app_one (git repo)
  |-- app_one (actual app uses by projects)
  |   +-- models.py
  |-- README.md
  +-- setup.py

project_one  (git repo)
  |-- project_one
  |   |-- apps
  |   |   |-- app_one
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py

project_two  (git repo)
  |-- project_two
  |   |-- apps
  |   |   |-- app_one (same app as project_one)
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py
Run Code Online (Sandbox Code Playgroud)

目前我正在使用git-submodules; 缺点是没有办法链接到回购的子文件夹.我最近阅读了关于子树的内容,这会更好吗?

理想情况下,我想使用buildout,但我没有找到一个很好的方法来实现这一点,而无需使用符号链接.如果有办法要这样做,请告诉我.

任何建议将不胜感激.

Ros*_*son 3

开发者先生。当 mr.developer 源被检出激活时,它会成为构建中的 setuptools/ distributedevelopegg,因此检出将由任何脚本(例如 zc.recipe.egg 生成的 python 解释器)使用扩建。