Impor riwayat revisi dokumen Google Documents ke dalam repositori Git?

16

Saya ingin melihat riwayat revisi dokumen Google Documents menggunakan alat yang lebih fleksibel seperti Git, dan mungkin memindahkan beberapa konten dari Google Documents ke proyek Git.

Google Documents memiliki API dengan akses ke riwayat revisi, jadi ini harus dimungkinkan, untuk berbagai format ekspor yang didukungnya. Namun, saya perhatikan bahwa ada beberapa masalah API dengan riwayat revisi yang berarti bahwa daftar kontributor untuk setiap revisi mungkin tidak lengkap, meskipun mereka sedang mempertimbangkan untuk memperbaikinya:

Terkadang ada lebih dari satu editor (untuk revisi tertentu). Namun, API selalu memberi saya satu editor per revisi.

Apakah ada kode atau saran untuk melakukan ini tersedia? Ekspor ke sistem kontrol versi yang berbeda seperti bzr, Mercurial, SVN atau CVS juga akan menarik.

Ini terkait dengan Kontrol Versi pertanyaan Stack Overflow dengan Praktik Terbaik Google Documents? , yang ditutup sebagai di luar topik di sana.

nealmcb
sumber

Jawaban:

10

Lars Kellog-Stedman menciptakan aplikasi python kecil yang disebut gitdriver yang saya temukan pada jawaban ini di StackOverflow . Itu melakukan apa yang Anda cari. Ini mengotentikasi ke Google dengan OAuth dan menarik ke bawah semua revisi dokumen, melakukan mereka ke repositori git.

Dengan ini, Anda dapat mengambil salinan Google Documents versi Anda dan kemudian bekerja dengannya menggunakan alat git tradisional.

gene_wood
sumber
5

The Revisionator lain adalah sistem dokumen online (seperti google docs) tapi dengan built-in kontrol revisi. Ini menyerupai alat yang lebih fleksibel seperti git yang memiliki dukungan untuk diff, percabangan, dan penggabungan 3 arah (tetapi dengan ujung depan web gui).

IMHO, riwayat revisi dokumen Google tidak akan cocok untuk mengimpor ke proyek git. Masalahnya adalah bahwa tidak ada gagasan copy pekerjaan. Ketika orang-orang melakukan perubahan, mereka langsung tercermin dalam dokumen dan ditambahkan ke riwayat revisi. Melihat sejarah ternyata berantakan.

Revisionator (seperti bzr, mercurial, git, dll) memiliki gagasan tentang copy pekerjaan. Oleh karena itu, Anda dapat mengerjakan perubahan hingga siap dirilis. Ketika dirilis itu muncul sebagai satu revisi dalam sejarah revisi (jauh lebih mudah dibaca).

jpalmucci
sumber
Saya setuju bahwa itu adalah tantangan untuk berurusan dengan sejumlah besar revisi seperti itu, tetapi setidaknya akan mungkin untuk mengelompokkannya menjadi bundel ketika ada jeda dalam pengeditan, atau perubahan dalam siapa yang membuat perubahan.
nealmcb
Mungkin, tetapi tidak jika orang yang berbeda mengedit dokumen secara bersamaan. Dan bahkan jika Anda mengelompokkannya berdasarkan waktu, tidak ada jaminan bahwa tandan mewakili perubahan logis tunggal pada dokumen. Yaitu, saya mengerjakan revisi, ditarik. Kembali lagi nanti dan perbaiki. Orang melihat 2 kumpulan perubahan dalam riwayat revisi (dan dokumen yang rusak di antaranya).
jpalmucci