Zaimportować historię zmian dokumentów w Dokumentach Google do repozytorium Git?


16

Chciałbym wyświetlić historię zmian dokumentu Dokumentów Google przy użyciu bardziej elastycznych narzędzi, takich jak Git, i ewentualnie przenieść część treści z Dokumentów Google do projektu Git.

Dokumenty Google mają interfejs API z dostępem do historii zmian, więc powinno to być możliwe, dla każdego z obsługiwanych formatów eksportu. Zwracam jednak uwagę, że wystąpiły pewne problemy z interfejsem API związane z historią wersji, co oznacza, że ​​lista autorów każdej wersji może nie być kompletna, choć rozważają naprawienie tego:

Czasami istnieje więcej niż jeden edytor (dla konkretnej wersji). Jednak interfejs API zawsze daje mi jednego edytora na wersję.

Czy jest dostępny kod lub rada dotycząca tego? Interesujący byłby również eksport do innego systemu kontroli wersji, takiego jak bzr, Mercurial, SVN lub CVS.

Jest to związane z pytaniem o przepełnienie stosu Kontrola wersji w Dokumentach Google - najważniejsze wskazówki? , który został zamknięty jako nie na temat.

Odpowiedzi:


10

Lars Kellog-Stedman stworzył świetną małą aplikację pythonową o nazwie gitdriver, którą znalazłem w odpowiedzi na StackOverflow . Robi to, czego szukasz. Uwierzytelnia się w Google za pomocą OAuth i usuwa wszystkie wersje dokumentu, przekazując je do repozytorium git.

Dzięki temu możesz pobrać wersjonowaną wersję dokumentu Google Doc, a następnie pracować z nim przy użyciu tradycyjnych narzędzi git.


5

Revisionator jest inny system dokumentów online (jak Google Docs), ale z wbudowanym kontroli rewizyjnej. Przypomina bardziej elastyczne narzędzia, takie jak git, ponieważ ma obsługę różnicowania, rozgałęziania i łączenia w 3 kierunkach (ale z interfejsem GUI WWW).

IMHO, historia zmian w dokumentacji Google i tak nie byłaby odpowiednia do importowania do projektu git. Problem polega na tym, że nie ma pojęcia kopii roboczej. Gdy ludzie wprowadzają zmiany, są one natychmiast odzwierciedlane w dokumencie i dołączane do historii zmian. Przeglądanie historii okazuje się bezbożnym bałaganem.

Revisionator (jak bzr, mercurial, git itp.) Ma pojęcie kopii roboczej. Dlatego możesz pracować nad zmianą, dopóki nie będzie gotowa do wydania. Po wydaniu pojawia się jako jedna wersja w historii zmian (znacznie bardziej czytelna).


Zgadzam się, że wyzwaniem jest poradzenie sobie z dużą liczbą takich zmian, ale przynajmniej wydaje się możliwe podzielenie ich na pakiety, gdy nastąpi przerwa w edycji lub zmiana, kto wprowadza zmiany.
nealmcb,

Może, ale nie, jeśli różne osoby edytują dokument w tym samym czasie. I nawet jeśli pogrupujesz je według czasu, nie ma gwarancji, że pęczki stanowią jedną logiczną zmianę w dokumencie. IE, pracuję nad wersją, daj się wyciągnąć. Wróć później i napraw to. Ludzie widzą 2 grupy zmian w historii zmian (i uszkodzony dokument pomiędzy nimi).
jpalmucci
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.