Nous essayons de déplacer notre processus de documentation de projet de Google Documents vers un ensemble de référentiels Git auto-hébergés.
Les documents texte sont suffisamment compatibles avec Git, car nous n'avons généralement pas besoin de mise en forme sophistiquée, nous allons simplement tout convertir en, disons multimarkdown avec une option pour intégrer LaTeX pour les cas complexes.
Mais les feuilles de calcul sont une histoire très différente ... Existe-t-il un format de feuille de calcul (semblable à) qui est convivial pour les systèmes de contrôle de version (et, de préférence, est aussi lisible par l'homme que Markdown)?
"Format convivial": Git fonctionne bien avec le format (il pas avec XML) et il génère des différences lisibles par l'homme ( configuration supplémentaire impliquant des outils externes est OK).
Évidemment, les saveurs Markdown permettent de construire des tables statiques, mais j'aimerais pouvoir utiliser des trucs comme SUM()
etc ... (Notez que CSV a le même problème.) Aucun WYSIWYG n'est OK, mais un bon support éditeur/outil serait bien.
Mise à jour: réponses compatibles avec Linux uniquement, s'il vous plaît. Pas de trucs MS Office.
Vous pouvez également utiliser libreOffice/open-office-spreadsheet-non-Zip-xml-fileformat "* .fods" qui est du simple XML. Le commentaire de @glenatron s'applique également à ce format.
Le format de feuille de calcul standard ouvert "* .ods" est zippé xml et n'est pas adapté à git (similaire à @ Egryan/@ emuddudley answer).
Cela ne correspond peut-être pas à vos besoins, mais peut correspondre à ceux d'un autre. Le mode Org pour Emacs comprend table.el
, qui, avec les améliorations particulières du mode Org, fournit une solution extrêmement robuste pour les feuilles de calcul, le tout en texte brut. Plus d'informations (bien plus que la portée de ce site) sont disponibles sur le site Web d'Org-mode et manuel , en particulier son tutoriel de feuille de calcul .
Qu'en est-il de pyspread ? Il est puissant et est livré avec une belle interface graphique.
Selon la page Premiers pas :
Le format de fichier pys a changé dans la version 0.2.0. Il s'agit maintenant d'un fichier texte bzip2-ed avec la structure suivante:
[Version du fichier de sauvegarde Pyspread]
0,1
[forme]
1000 100 3
[la grille]
7 22 0 'Testcode1'
8 9 0 'Testcode2'
[les attributs]
[] [] [] [] [(0, 0)] 0 'textfont' u'URW Chancery L '
[] [] [] [] [(0, 0)] 0 'taille de point' 20
[row_heights]
0 0 56,0
7 0 25,0
[col_widths]
0 0 80,0
[macros]
Texte de macro
Le fait qu'il soit bzip2-ed n'aide pas mais au moins vous pouvez accéder à un texte assez lisible.
La licence est GPLv3.
CSV (valeurs séparées par des virgules)
Si vous travaillez uniquement avec des données, c'est probablement le format le plus simple et le plus couramment pris en charge.
Devrait vous faciliter la vie si vous souhaitez différencier les versions.
Oh, et Google Docs prend entièrement en charge l'importation/exportation CSV.
Mise à jour:
Il vous suffit ensuite d'écrire un script Google Apps pour filtrer les formules lors de l'exportation et faire l'inverse lors de l'importation. Vous devrez faire preuve d'ingéniosité car le format que vous recherchez n'existe pas.
Je sais que Microsoft Office 2007 et versions ultérieures par défaut au format xml propice lors de l'enregistrement. Cela devrait donc être convivial pour Git. Open Office enregistre également au format xml si vous souhaitez utiliser une solution plus open source. Comme un XML est un format texte, git devrait être capable de le gérer assez bien
Comme vous le déplacez de Google Documents, vous pouvez les télécharger avec des documents ouverts basés sur XML.
Modifier
Comme vous voulez une solution non Microsoft/XML, vous pouvez toujours enregistrer un fichier CSV dans Open Office, mais je ne sais pas combien de fonctionnalités vous perdez en enregistrant dans ce format.
Ce n'est peut-être pas exactement ce que vous voulez. Je pense que libre office vous permet de référencer un fichier extérieur. Vous pourriez avoir une feuille de calcul que vous traitez comme une base de données et avoir un fichier libre statique qui serait votre interface. Vous perdriez la sommation d'accès facile dans vos fichiers versionnés à moins que vous ne les rappeliez, mais cela fonctionnerait.
Un autre problème assez important à ce sujet serait qu'il s'agit d'une direction.