17

私はgitワークフローに統合してgithubにプッシュしたいと思う、Googleドキュメントのスプレッドシートを持っています。それを行う、またはそれを手助けするツール(またはgdocのバージョンを認識しているライブラリ)がありますか?gdocのリビジョン履歴をgitにエクスポートするにはどうすればよいですか?

最新のバージョンのcsv gdocを読み書きするのに、改訂履歴を抽出するものはありません。google_spreadsheet gemに基づいて、古いルビーハックがいくつかあります。

答えて

6

gdocが改訂履歴sourceをエクスポートするためにセットアップされていません。

GoogleドライブにはすべてのリビジョンhereにアクセスするためのAPIがあります。これにより、すべてのリビジョンを簡単にダウンロードできます。次に、それらを1つずつgitに追加するためのスクリプトを作成することができます。改訂履歴にはいくつかの問題があります。hereを参照してください。

+0

これは非常に有用な研究です。ありがとうございました!以前の状態に戻すこと以上のために設計されていないという正式な言葉は、私がプロジェクトを再考する方が良いかもしれないことを示唆しています。ドライブAPIを実験するのは興味深いかもしれません。 – ecmanaut

25

私はあなたの質問に興味をそそられたので、私は今日一緒に少しプロジェクトをハッキング:文書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のデモンストレーションと、このようなことを行う方法を意味します。それはではなく、は機能的な製品であることを意図しています。

+0

これはクールなスタートです - それを実行するにはPythonのバージョンと依存関係をインストールする必要がありますか? python 2.7で実行しようとしましたが、pipを実行してから 'google-api-python-client'、' pyyaml'と 'requests'を実行しましたが、まだバックトレースがあります:https://gist.github.com/4514298 – ecmanaut

+1

そのトレースバックについては奇妙です。あなたの 'os'モジュールに' urandom'機能がないことを報告しています。 Python 2.7をどのようにインストールしましたか?記録のために、これはOS XとLinux(w/Python 2.7と要求1.1.0)の両方でうまく動作します。 – larsks

+1

これは素晴らしいlarsks、それを書くとそれを投稿していただきありがとうございます。私は、[あなたのコードのこのフォーク](https://github.com/deltaidea/gitdrive)で修正されているような、切り詰められたリビジョンリストなどのいくつかの問題を抱えていました。それは私にとって仕事を終わらせましたが、あなたは力に加わることができます。 – Caleb

関連する問題