Importare la cronologia delle revisioni dei documenti di Google Documenti in un repository Git?


16

Vorrei visualizzare la cronologia delle revisioni di un documento di Google Documenti utilizzando strumenti più flessibili come Git e possibilmente migrare alcuni contenuti da Google Documenti in un progetto Git.

Google Documenti ha un'API con accesso alla cronologia delle revisioni, quindi questo dovrebbe essere possibile, per una qualsiasi delle varietà di formati di esportazione supportati. Prendo atto, tuttavia, che ci sono stati alcuni problemi API con la cronologia delle revisioni che significa che l'elenco dei contributori a ciascuna revisione potrebbe non essere completo, anche se stanno valutando di risolverlo:

A volte ci sono più di un editor (per una particolare revisione). Tuttavia, l'API mi offre sempre un editor per revisione.

C'è qualche codice o consiglio su come farlo disponibile? Sarebbe interessante anche l'esportazione in un sistema di controllo della versione diverso come bzr, Mercurial, SVN o CVS.

Ciò è correlato alla domanda Stack Overflow Controllo versione con le migliori pratiche di Google Documenti? , che è stato chiuso come fuori tema lì.

Risposte:


10

Lars Kellog-Stedman ha creato una fantastica piccola app Python chiamata gitdriver che ho trovato su questa risposta su StackOverflow . Fa quello che stai cercando. Si autentica su Google con OAuth e abbassa tutte le revisioni di un documento, impegnandole in un repository git.

Con questo, puoi recuperare una copia della versione di Google Doc e quindi lavorare con esso utilizzando gli strumenti git tradizionali.


5

Il Revisionator è un altro sistema di documenti online (come Google Docs), ma con built-in controllo di revisione. Assomiglia a strumenti più flessibili come git in quanto ha il supporto per diffing, branching e fusione a 3 vie (ma con un front-end web gui).

IMHO, la cronologia delle revisioni di Google Documenti non sarebbe comunque adatta all'importazione in un progetto git. Il problema è che non esiste una nozione di copia funzionante. Man mano che le persone apportano modifiche, vengono immediatamente riflesse nel documento e aggiunte alla cronologia delle revisioni. La visualizzazione della cronologia si rivela un disastro.

Revisionator (come bzr, mercurial, git, ecc.) Ha una nozione di copia funzionante. Pertanto, è possibile lavorare su una modifica fino a quando non è pronta per essere rilasciata. Quando viene rilasciato, appare come una revisione nella cronologia delle revisioni (molto più leggibile).


Concordo sul fatto che sia una sfida gestire un gran numero di revisioni del genere, ma sembrerebbe almeno possibile raggrupparle in gruppi quando c'è una pausa nella modifica o un cambiamento in chi sta apportando modifiche.
nealmcb,

Forse, ma non se persone diverse stanno modificando il documento contemporaneamente. E anche se li raggruppi per tempo, non vi è alcuna garanzia che i gruppi rappresentino una singola modifica logica al documento. IE, lavoro su una revisione, vengo portato via. Torna più tardi e risolvilo. Le persone vedono 2 gruppi di cambiamenti nella cronologia delle revisioni (e il documento rotto nel mezzo).
jpalmucci,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.