2010-01-05 27 views

回答

13

我的cocoagit的合着者,这是目前一个未完成的实施在客观核心的git功能之一-C。过去6个月中没有太多活动。不幸的是,它不足以满足你所需要的一切。我们可以阅读提交文件,并初步支持克隆repos,但我们还不能做差异化。杰夫和我都希望有更多时间再次参与其中,但与此同时,我们很乐意欢迎任何贡献。

或者,我第二次推荐以前的海报来考虑使用github,或者构建自己的web服务来提供必要的数据。

+0

我注意到您的实现是MIT许可的。由于Git本身就是GPL,您是否采取了适当的措施来避免“污染”? – 2010-01-06 19:24:00

+2

是的。大部分代码都是在没有查看git-core C源代码的情况下编写的。相反,我们使用了git内部的所有可用文档,以及jgit(java实现 - BSD)和砂砾(Ruby - MIT)的源代码作为实现细节的参考。我已经几次打开C git代码来验证一些关于内部“管道”命令如何工作的细节,但在这些情况下,我只是在编写cocoagit的任何代码之前就做好了一些笔记。 – 2010-01-07 19:11:29

6

编写一个生成iPhone特定格式化输出的web应用程序会更容易。 iPhone上的任何事情都有可能,但为了获得应用程序,您必须支付99美元才能加入俱乐部,然后运行审批流程。一个网络应用程序不需要被任何人批准。

5

这将是可能的,如果你可以静态编译所需的git函数到你的可执行文件中。它需要将存储库克隆到设备的磁盘。

我不确定你的用例是什么,但使用托管网站(如GitHub),或者如果不可能的话制作自己的Web服务,可能会更明智。

6

Git(命令行客户端)已移植到越狱iPhone。

+2

它在Cydia上。然而,这是一个相当旧的git版本。 'Stevens-iPhone-5:〜mobile $ git --version git version 1.5.6.rc0'它确实有效,但如果您希望手机上的工作流程不会成为头发拉动的努力,则需要一些脚本和智能。 。 – 2013-02-13 00:34:27

1

你有几个选择:

1)获取的git(1)对于ARM和iPhone交叉编译,然后将它们嵌入。 2)使用Dulwich并编写一个小工具,您可以用NSTask驱动,根据需要进行操作(请勿直接将代码链接到此目录或复制它们的实现 - 这是GPL)。这可能比选项1更容易。 3)编写一个Web服务器,它可以满足您的需求,然后让您的iPhone客户端访问它。

这真的取决于你在做什么,为什么你这样做,以及你已经设置了哪些基础设施,哪个选项最好。例如,如果您已经有任何类型的服务器组件(例如推送通知),我会推荐选项3.

+1

iPhoneOS上的NSTask不受支持。 – 2010-01-08 05:04:33

+0

有很多方法可以在不使用NSTask的情况下完成。 – 2010-01-09 23:04:05

+1

跳板(主屏幕)杀死任何未启动的进程。淘汰不是一种选择,因此您无法启动单独的开源工具。不幸的是,OP将无法使用主要的git实现。 – 2011-02-08 09:36:49

2

这绝对有可能。 BugBranch应用程序执行此操作。根据应用程序的部分,它使用libgit2 and objective-git

+0

值得一提的是:libgit2库有 “许可许可” 带链接异常的GPLv2。与开放和专有软件链接,不附带任何字符串。 – 2015-05-25 07:17:00

相关问题