1

我是 Github 的新手。我已经将一个小型开源 Github C 项目移植到 C++。我添加了一个新方法,将大多数方法重命名为更具描述性的名称,删除了一堆冗余(在我看来)方法,清理了注释,使其成为 OO 等。

我还没有就此联系过原作者。所以,我想知道正确的礼仪是什么。我应该联系他们并要求在项目上进行合作吗?我应该告诉他们我在做什么,如果他们不同意,那怎么办?

或者,我应该简单地在 Github 上创建我自己的项目版本并保留控制权吗?

4

2 回答 2

2

对于开始时不在 GitHub 上的项目进行大规模重构,前进的一种方法是:

  • 将原始代码(至少是 HEAD)导入 GitHub
  • 应用您的修改并将它们推送到此 GitHub 存储库
  • 联系作者并要求他们分叉您的项目:他们将能够控制自己的代码版本,并通过拉取请求与您协作。

将两个 GitHub 存储库分开可以在存储库之间实现更清晰的关注点分离(为您进行大规模重构,为它们提供遗留支持)。

于 2012-05-12T22:12:16.067 回答
1

由于 C++ 与 C 非常不同(与流行的 beleifs 相反),我认为您的代码需要一个新项目。

另外我应该补充一点,处理这种情况的一种更合适的方法是创建一个 C++ 包装器,它只链接到该 C 库。C++ 与 C 链接没有问题(反之则不然),这将使两个阵营都高兴(那些想要低级 C 库的人和需要更高级别的 OO 和其他启用 C++ 库的人)。

如果它的编译可以是可选的,这样的包装器甚至可以包含在主项目中,这样它就不会妨碍那些不需要它的人。

不幸的是,我不知道那个项目是什么,所以这几乎只是挥手致意。

于 2012-05-13T11:17:11.740 回答