web-dev-qa-db-fra.com

Contrôle de la version pour DOCX et PDF?

Je joue avec git et hg dernièrement, puis soudain, cela me survint que ce genre de chose sera génial pour les documents.

J'ai un document que je modifie dans DOCX et Exporter en tant que PDF. J'ai essayé d'utiliser les deux git et hg _ _ _ à la version contrôle et s'avère avec hg Vous finissez par que le suivi uniquement binaire et diff-ing n'est pas significatif. Bien que avec git je peux dire de manière significative DOCX (n'a pas essayé sur PDF Pourtant), je me demandais s'il y avait une meilleure façon de le faire que je le fais bien Maintenant. (Idéalement, ne pas avoir à laisser Word à diff sera la meilleure solution.)

- ashish gandhi

36
Jungle Hunter

Il y a deux concepts différents ici - on est "Le système de contrôle de la version peut-il faire des jugements intelligents sur le contenu des fichiers?" - afin qu'il puisse stocker juste des informations delta entre les révisions (et faire des choses comme Attribuer la responsabilité envers des parties individuelles d'un fichier).

L'autre est 'Dois-je un outil de comparaison de fichiers qui est utile pour les types de fichiers que j'ai dans le système de contrôle de la version'. Les systèmes de contrôle de la version ont tendance à venir avec des outils de comparaison de fichiers inférieurs aux alternatives dédiées. Mais ils peuvent toujours être toujours liés à de meilleurs programmes de diff - soit pour tous les types de fichiers ou ceux spécifiques.

Il est donc courant d'utiliser, par exemple, au-delà de la comparaison en tant qu'outil de comparaison général, avec Word en tant que comparateur de document Word dédié.

Différents systèmes de contrôle de version diffèrent quant à la façon dont les personnes les percevaient à la manipulation de "binaires", mais cela est souvent autant à faire avec la manipulation de fichiers énormes et de fournir un verrouillage exclusif tel qu'il est à faire avec une comparaison de fichiers.

15
Will Dean

http://tortoisehg.bitbucket.io/ Comprend un plugin appelé Docdiff qui intègre le mot et Excel diff '.

7
Joshua

Ceci article décrit la solution pour DOCX à l'aide Pandoc tandis que ce post décrit la solution pour PDF Utilisation pdf2html .

4
Daniil Shevelev

Vous pouvez utiliser au-delà de la comparaison comme outil de diff externe pour HG. Ajouter à/changer votre utilisateur mercurial.ini comme:

[extdiff]
cmd.vdiff = c:/path/to/BCompare.exe

Ensuite, allez au-delà de la comparaison règle de la visionneuse de fichiers pour DOCX.

Maintenant, vous devriez être capable de comparer deux versions de DOCX au-delà de la comparaison.

4
Geoffrey Zheng

Seulement pour DOCX, j'ai compilé des instructions pour plusieurs endroits ici: https://gist.github.com/nachocab/642989

# download docx2txt by Sandeep Kumar
wget -O docx2txt.pl http://www.cs.indiana.edu/~kinzler/home/binp/docx2txt

# make a wrapper 
echo '#!/bin/bash
docx2txt.pl $1 -' > docx2txt
chmod +x docx2txt

# make sure docx2txt.pl and docx2txt are your current PATH. Here's a guide
http://shapeshed.com/using_custom_Shell_scripts_on_osx_or_linux/
mv docx2txt docx2txt.pl ~/bin/

# set .gitattributes (unfortunately I don't this can't be set by default, you have to create it for every project)
echo "*.docx diff=Word" > .git/info/attributes

# add the following to ~/.gitconfig
[diff "Word"]
    binary = true
    textconv = docx2txt

# add a new alias
[alias]
    wdiff = diff --color-words

# try it
git init

# create my_file.docx, add some content

git add my_file.docx

git commit -m "Initial commit"

# change something in my_file.docx

git wdiff my_file.docx

# awesome!

Ça marche très bien sur OSX

4
nachocab

Si vous utilisez un Mac, j'ai écrit un pilote de fusion GIT qui peut utiliser Microsoft Word et suivi des modifications pour fusionner et afficher des conflits entre tout type de fichier Word peut lire et écrire des conflits.

http://github.com/jasmas/wordmerge

Je dis 'si vous utilisez un Mac' car le pilote que j'ai écrit utilise AppleScript, principalement pour accomplir cette tâche.

Ce serait bien d'ajouter une version VBScript au projet, mais pour le moment je n'ai pas d'environnement Windows pour le test. Toute personne ayant des connaissances de base sur script devrait être capable de jeter un coup d'œil à ce que je vais et de le dupliquer dans VBScript, PowerShell ou quoi que ce soit sur Windows.

2
user3294264

J'ai utilisé svn (oui, en 2020 :-)) avec TortoiseSVN sous Windows. Il dispose d'une fonction intégrée pour comparer les fichiers DOCX (il ouvre Microsoft Word en mode où votre écran est divisé en quatre parties: le fichier après les modifications, avant les modifications, avec des modifications en surbrillance et une liste de modifications). Capture d'écran ci-dessous (désolé pour la version polonaise de MS Word). J'ai aussi vérifié TortoiseGit et cela a également cette fonctionnalité. J'ai lu que Tortoisehg l'a aussi.

A screenshot of comparison of changes of a file using Microsoft Word and TortoiseSVN

0
JustAC0der