2013-01-08 37 views
0

我一直在研究一个想法,并且需要通过某个人来运行它,看看我是否已经走下了深渊。Git和混淆代码

我正在做一个体面复杂的PHP项目,我是唯一的开发人员。我们正在寻找其他人来帮助编程,但不希望他们在第一天看到所有内容。在“核心架构”和“非核心”之间有一条非常清晰的界限。我希望新人能够阅读和修改“非核心”部分。核心部分是非核心工作所必需的。

我的计划ID这样的:

  1. 使核心和非核心部分分开Git仓库
  2. 使核心部分的非核心
  3. 一个子模块添加一个post-commit钩子来核心存储库,运行代码混淆

然后,当子模块更新时,文件将执行,但将很难阅读。

#1和#2很容易。但#3 ......我不知道它是否可以完成。我正在研究git的内部,看看这些文件是如何存储的,但是好像它们只是存储在文件系统中。因此,没有任何方法可以编辑它们并添加混淆而不会完全摧毁“良好”副本。话虽如此,我总是可以在那里菊花链另一个回购。

良好关系 - >核心回购(有混淆) - >非核心

我只是想知道是否有这样做一个更清洁的方式。


只是另一个想法,但我不能使用混淆代码的存储库。而是让git commit hook调用一个脚本来复制和混淆Core代码,并将其放置在非核心代码库中。添加一个.getignore,以便该文件夹不是非核心代码库的一部分。

+0

可能完全不在话题中,但可以将核心功能作为一组服务/ API公开。 – cmbuckley

+0

是的,感谢这个想法,但是那里有很多代码,而我没有时间去做那样的重写。我仍在努力将其全部切换到OOP! – Beachhouse

+0

如果确实有一条“非常清晰的线条”,那么不应该太难做。 – hd1

回答

1

将核心功能公开为Web服务并通过HTTP访问它们。将非核心位保留在存储库中。

+0

核心代码是性能敏感的,就像数据库连接,跟踪,调试一样,增加的开销会太多。谢谢你的评论! – Beachhouse

+2

意见:海事组织,你应该信任你的开发者的来源。与别人的黑匣子合作令人沮丧;你这两个隐藏它的伤害。它会节省你的时间,给他们工具来回答任何问题。如果这不是一个令人信服的论据,那么我会采取这种方法:混淆将是一个真正的头痛。如果您在运行on_的同一台机器上访问您的服务,我认为您应该没问题。本地请求/响应应该由内核处理而不触及网络。 – Matt