La démarche de Pijul est intéressante (Je verrais bien cet algo mis dans Git un jour).
Les gens de Mercurial semblent y travailler, mais sans la commutation, c'est à mon avis nettement moins intéressant.
Néanmoins, ce que j'aimerais c'est un DVCS qui gère assez simplement les fichiers binaires ou du moins les fichiers "zip" comme les documents LibreOffice.
Il y a plusieurs difficultés :
LibreOffice stocke son format en XML avant de le compresser. Pijul a besoin d'une structure de base du document, et d'opérations atomiques dessus. Sur une liste de lignes, c'est facile. Sur un arbre (XML), il faut travailler un peu plus. Ceci dit, comme XML stocke ses arbres dans des fichiers, on peut quand même faire un diff balise par balise au lieu de ligne par ligne.
Représenter les conflits à l'utilisateur est sans doute assez compliqué, mais on peut y réfléchir.
Les fichiers compressés/binaires ont parfois tendance à changer un peu partout à la fois, et sont peu structurés, donc on peut difficilement gérer les conflits efficacement.
En gros, on est ouvert à des contributions là-dessus ! https://discourse.pijul.org permet d'en discuter, et on peut t'aider à faire tes premiers patchs ;-)
[^] # Re: Et pour les fichiers binaires ou du moins autres que texte?
Posté par pmeunier . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 2.
Les gens de Mercurial semblent y travailler, mais sans la commutation, c'est à mon avis nettement moins intéressant.
Il y a plusieurs difficultés :
LibreOffice stocke son format en XML avant de le compresser. Pijul a besoin d'une structure de base du document, et d'opérations atomiques dessus. Sur une liste de lignes, c'est facile. Sur un arbre (XML), il faut travailler un peu plus. Ceci dit, comme XML stocke ses arbres dans des fichiers, on peut quand même faire un diff balise par balise au lieu de ligne par ligne.
Représenter les conflits à l'utilisateur est sans doute assez compliqué, mais on peut y réfléchir.
Les fichiers compressés/binaires ont parfois tendance à changer un peu partout à la fois, et sont peu structurés, donc on peut difficilement gérer les conflits efficacement.
En gros, on est ouvert à des contributions là-dessus ! https://discourse.pijul.org permet d'en discuter, et on peut t'aider à faire tes premiers patchs ;-)