我有一个不寻常的需求,我想知道 Git 是否可以满足它。
我想将我的 Python 包移植python_toolbox
到 Python 3。但我不喜欢使用 的想法2to3
,也不支持使用相同代码的 Python 2 和 Python 3。(因为对我来说重要的是我的代码会很漂亮,而且我发现为 Python 2 和 Python 3 编写的代码并不漂亮。)
我想要的是有 2 个单独的源文件夹,一个用于 Python 2.x,一个用于 Python 3.x。这将允许我编写针对各自主要 Python 版本量身定制的每个版本的代码。我希望这两个文件夹都在同一个仓库中,并且setup.py
会根据运行它的 Python 版本动态地在它们之间进行选择。到目前为止,一切都很好。
现在,这里是我需要帮助的地方:我希望能够从我的 Python 2.x 源文件夹合并到我的 Python 3.x 源文件夹。为什么?当我在 Python 2.x 文件夹上开发一个功能时,我也希望在 Python 3.x 版本上拥有这些功能。我不想手动复制它们。我想将它们合并到 Python 3.x 文件夹中,并且我完全希望有美妙的合并失败,我将不得不使用我的判断来决定如何将为 Python 2.x 实现的功能合并到修改过的代码中对于 Python 3.x。
问题是:我该怎么做?这些文件夹是 Git 存储库中的文件夹,它们本身不是 Git 存储库。我曾考虑过使用以前从未使用过的 Git 子模块,但在网上阅读它们却是一幅可怕的画面。(“sobmodules”这个词已经被抛弃了。)
还有其他想法如何在我的 Git 存储库中合并这些文件夹吗?