Importar o histórico de revisões de documentos do Google Docs para um repositório Git?

16

Gostaria de visualizar o histórico de revisões de um documento do Google Docs usando ferramentas mais flexíveis, como o Git, e possivelmente migrar algum conteúdo do Google Docs para um projeto Git.

O Google Docs possui uma API com acesso ao histórico de revisões, portanto isso deve ser possível para qualquer um dos vários formatos de exportação compatíveis. Observo, no entanto, que houve alguns problemas de API com o histórico de revisões, o que significa que a lista de contribuidores para cada revisão pode não estar completa, embora eles estejam pensando em corrigir isso:

Às vezes, há mais de um editor (para uma revisão específica). No entanto, a API sempre me fornece um editor por revisão.

Existe algum código ou conselho sobre como fazer isso disponível? A exportação para um sistema de controle de versão diferente como bzr, Mercurial, SVN ou CVS também seria interessante.

Isso está relacionado ao controle de versão da pergunta Stack Overflow com as práticas recomendadas do Google Docs? , que foi fechado como off-topic por lá.

nealmcb
fonte

Respostas:

10

Lars Kellog-Stedman criou um ótimo aplicativo python chamado gitdriver, que encontrei nesta resposta no StackOverflow . Faz o que você está procurando. Ele se autentica no Google com OAuth e retira todas as revisões de um documento, enviando-as para um repositório git.

Com isso, você pode buscar uma cópia com versão do seu Google Doc e depois trabalhar com ela usando as ferramentas git tradicionais.

gene_wood
fonte
5

O Revisionator é outro sistema de documentos online (como o google docs), mas com controle de revisão interno. Ele se assemelha a ferramentas mais flexíveis, como o git, na medida em que oferece suporte à fusão, ramificação e fusão de três vias (mas com um front-end de interface da web).

IMHO, o histórico de revisões do Google Docs não seria adequado para importar para um projeto git de qualquer maneira. O problema é que não há noção de uma cópia de trabalho. À medida que as pessoas fazem alterações, elas são refletidas imediatamente no documento e anexadas ao histórico de revisões. Ver o histórico acaba sendo uma bagunça profana.

O Revisionator (como bzr, mercurial, git, etc) tem uma noção de uma cópia de trabalho. Portanto, você pode trabalhar em uma alteração até que esteja pronta para ser liberada. Quando lançado, ele aparece como uma revisão no histórico de revisões (muito mais legível).

jpalmucci
fonte
Concordo que é um desafio lidar com um grande número de revisões como essa, mas pelo menos parece possível agrupá-las em pacotes quando houver uma pausa na edição ou uma alteração em quem está fazendo alterações.
Nealmcb
Talvez, mas não se pessoas diferentes estiverem editando o documento ao mesmo tempo. E mesmo se você agrupá-los por tempo, não há garantia de que os agrupamentos representem uma única alteração lógica no documento. Ou seja, eu trabalho em uma revisão, me afastei. Volte mais tarde e conserte. As pessoas veem dois grupos de alterações no histórico de revisões (e o documento quebrado no meio).
jpalmucci