我有一个电子表格在谷歌文档,我想要在git工作流程中集成(并推送到github)。是否有任何工具(或者甚至可以识别gdoc版本的库)能够或帮助我这么做?如何将gdoc的修订历史记录导出到git?
我有一些老红宝石黑客躺在基于google_spreadsheet gem读取和写入当前版本的csv gdoc,但没有提取修订历史记录。
我有一个电子表格在谷歌文档,我想要在git工作流程中集成(并推送到github)。是否有任何工具(或者甚至可以识别gdoc版本的库)能够或帮助我这么做?如何将gdoc的修订历史记录导出到git?
我有一些老红宝石黑客躺在基于google_spreadsheet gem读取和写入当前版本的csv gdoc,但没有提取修订历史记录。
我被你的问题很感兴趣,所以我今天砍死在一起的小项目:
给定一个文档ID,它会使用或者纯文本创建一个Git仓库或Google文档的HTML内容。这可以很容易地扩展到与其他文件类型一起工作。它看起来像这样:
$ python gitdriver.py -T 1j6Ygv0ow5A8_ywTMwJbuKVrxrSsSH2wJs3a8Q66mvt4
Create repository "Untitled"
Initialized empty Git repository in /home/lars/projects/gitdriver/Untitled/.git/
[master (root-commit) 24d35e7] revision from 2013-01-08T21:57:38.837Z
1 file changed, 1 insertion(+)
create mode 100644 content
[master fd243ee] revision from 2013-01-08T21:57:45.800Z
1 file changed, 1 insertion(+), 1 deletion(-)
rewrite content (95%)
[master 5ad1a26] revision from 2013-01-09T01:47:29.593Z
1 file changed, 1 insertion(+), 1 deletion(-)
rewrite content (92%)
$ cd Untitled
$ git log --oneline
5ad1a26 revision from 2013-01-09T01:47:29.593Z
fd243ee revision from 2013-01-08T21:57:45.800Z
24d35e7 revision from 2013-01-08T21:57:38.837Z
这需要您为Google设置必要的应用程序凭据。它并没有做任何错误检查。并可能吃你的金鱼。这是为了演示API以及你如何做这样的事情;它的而不是旨在成为功能性产品。
这似乎是一个很酷的开始 - 我需要安装哪些python版本和依赖项才能运行它?我试着运行pip install'google-api-python-client','pyyaml'和'requests'后运行python 2.7,但仍然有一些回溯:https://gist.github.com/4514298 – ecmanaut
有关这个追溯的奇怪;它报告你的'os'模块没有'urandom'功能。你是如何安装Python 2.7的?为了记录,这在OS X和Linux(w/Python 2.7和请求1.1.0)下工作正常。 – larsks
这是非常棒的书包,感谢您撰写并发布它。我确实遇到了一些截断修订列表的问题,并且这些似乎是由[代码的这个分支](https://github.com/deltaidea/gitdrive)修复的。这为我完成了这项工作,但你可能会考虑加入力量。 – Caleb
这是非常有用的研究;谢谢!其权威性的话不是为了回复到之前的状态而设计的,这表明我可能会更好地重新思考该项目,不过如果它适用于所有的GDoc,尝试使用驱动器API可能会很有趣。 – ecmanaut