Googleドキュメントのドキュメントの変更履歴をGitリポジトリにインポートしますか?


16

Gitなどのより柔軟なツールを使用してGoogleドキュメントドキュメントの改訂履歴を表示し、場合によっては一部のコンテンツをGoogleドキュメントからGitプロジェクトに移行したいと思います。

Googleドキュメントには、変更履歴にアクセスできるAPIがあります。したがって、サポートしているさまざまなエクスポート形式のいずれでも、これが可能になるはずです。ただし、改訂履歴にはいくつかのAPIの問題があり、修正を検討しているものの、各改訂への貢献者のリストが完全でない可能性があることに注意してください。

特定のリビジョンに対して複数のエディタが存在する場合があります。それでも、APIは常にリビジョンごとに1人のエディターを提供します。

これを行うためのコードやアドバイスはありますか?bzr、Mercurial、SVN、CVSなどの別のバージョン管理システムへのエクスポートも重要です。

これは、Googleドキュメントのベストプラクティスを使用したスタックオーバーフローの質問のバージョン管理に関連していますか?、トピック外として閉鎖されました。

回答:


10

Lars Kellog-Stedmangitdriverと呼ばれるすばらしい小さなpythonアプリを作成しました。このアプリはStackOverflowのこの回答で見つけました。それはあなたが探していることをします。OAuthを使用してGoogleに対して認証し、ドキュメントのすべてのリビジョンをプルダウンして、それらをgitリポジトリにコミットします。

これにより、Googleドキュメントのバージョン管理されたコピーを取得し、従来のgitツールを使用して操作できます。


5

Revisionatorは(Googleドキュメントなどの)別のオンライン文書システムですが、内蔵のリビジョンコントロールを持ちます。差分、分岐、および3方向のマージをサポートしているという点で、gitなどのより柔軟なツールに似ています(ただし、Web GUIフロントエンドでは)。

私見、Googleドキュメントの改訂履歴は、とにかくgitプロジェクトへのインポートには適していません。問題は、作業コピーの概念がないことです。人々が変更を加えると、それらはすぐにドキュメントに反映され、改訂履歴に追加されます。履歴を表示することは、不浄な混乱であることが判明しました。

Revisionator(bzr、mercurial、gitなど)には作業コピーの概念があります。したがって、リリースの準備ができるまで変更に取り組むことができます。リリースされると、リビジョン履歴に1つのリビジョンとして表示されます(はるかに読みやすくなります)。


そのような多数の改訂に対処することは挑戦であることに同意しますが、少なくとも編集中に一時停止がある場合、または変更を行っている人の変更がある場合、それらを一括して一括処理することは可能と思われます。
nealmcb

たぶん、しかし、異なる人が同時にドキュメントを編集している場合はそうではありません。また、時間ごとに束ねても、束がドキュメントに対する単一の論理的な変更を表す保証はありません。IE、私はリビジョンに取り組んで、引き離されます。後で戻って修正してください。人々は、改訂履歴(およびその間の壊れたドキュメント)に2束の変更を見ます。
jpalmucci
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.