Versionsverlauf von Google Text & Tabellen-Dokumenten in ein Git-Repository importieren?

16

Ich möchte den Revisionsverlauf eines Google Text & Tabellen-Dokuments mit flexibleren Tools wie Git anzeigen und möglicherweise einige Inhalte aus Google Text & Tabellen in ein Git-Projekt migrieren.

Google Text & Tabellen verfügt über eine API mit Zugriff auf das Revisionsprotokoll. Dies sollte für alle unterstützten Exportformate möglich sein. Ich stelle jedoch fest, dass es einige API-Probleme mit dem Revisionsverlauf gegeben hat , die dazu führen, dass die Liste der Mitwirkenden zu jeder Revision möglicherweise nicht vollständig ist, obwohl sie erwägen, Folgendes zu beheben:

Manchmal gibt es mehr als einen Editor (für eine bestimmte Revision). Die API bietet mir jedoch immer einen Editor pro Revision.

Gibt es dazu einen Code oder einen Rat? Der Export in ein anderes Versionskontrollsystem wie bzr, Mercurial, SVN oder CVS wäre ebenfalls von Interesse.

Dies steht im Zusammenhang mit der Stapelüberlauf-Frage Versionskontrolle mit Google Docs Best Practices? , der dort als off-topic geschlossen wurde.

Nealmcb
quelle

Antworten:

10

Lars Kellog-Stedman hat eine großartige kleine Python-App namens gitdriver erstellt, die ich in dieser Antwort bei StackOverflow gefunden habe . Es macht das, wonach Sie suchen. Es authentifiziert sich bei Google mit OAuth und ruft alle Überarbeitungen eines Dokuments ab und legt sie in einem Git-Repository fest.

Auf diese Weise können Sie eine versionierte Kopie Ihres Google Docs abrufen und dann mit herkömmlichen Git-Tools damit arbeiten.

gene_wood
quelle
5

Der Revisionator ist ein anderes Online-Dokumentensystem (wie Google Docs), das jedoch über eine integrierte Revisionskontrolle verfügt. Es ähnelt flexibleren Tools wie git, da es Unterschiede, Verzweigungen und 3-Wege-Zusammenführungen unterstützt (jedoch mit einem Web-GUI-Frontend).

IMHO, das Google Docs Revisionsprotokoll wäre sowieso nicht zum Importieren in ein Git-Projekt geeignet. Das Problem ist, dass es keine Arbeitskopie gibt. Wenn Personen Änderungen vornehmen, werden sie sofort im Dokument wiedergegeben und an den Revisionsverlauf angehängt. Das Anschauen der Geschichte erweist sich als unheiliges Durcheinander.

Der Revisionator (wie bzr, mercurial, git usw.) hat den Begriff einer Arbeitskopie. Daher können Sie an einer Änderung arbeiten, bis sie freigegeben werden kann. Nach der Freigabe wird es als eine Revision im Revisionsverlauf angezeigt (viel besser lesbar).

jpalmucci
quelle
Ich bin damit einverstanden, dass es eine Herausforderung ist, mit einer großen Anzahl solcher Revisionen umzugehen, aber es scheint zumindest möglich, sie in Gruppen zusammenzufassen, wenn die Bearbeitung unterbrochen ist oder sich ändert, wer Änderungen vornimmt.
Nealmcb
Möglicherweise, aber nicht, wenn verschiedene Personen gleichzeitig das Dokument bearbeiten. Und selbst wenn Sie sie nach Zeit bündeln, gibt es keine Garantie dafür, dass die Bündel eine einzige logische Änderung des Dokuments darstellen. IE, ich arbeite an einer Überarbeitung, werde weggezogen. Komm später zurück und repariere es. Die Leute sehen 2 Gruppen von Änderungen im Revisionsverlauf (und dem kaputten Dokument dazwischen).
Jpalmucci