2011-04-14 6 views
4

Je veux fusionner deux fichiers .xls MS Excel tout en mettant à jour le référentiel avec TortoiseHg, et je reçois l'erreur suivante:Fusion xls avec TortoiseHg

tool tortoisemerge can't handle binary 
tool kdiff3 can't handle binary 
tool tortoisemerge can't handle binary 
tool docdiff can't handle binary 
abort: response expected 

Quand j'ajouter ces lignes dans le fichier hgrc:

[merge-patterns] 
**.xls = docdiff 

Je reçois une autre erreur:

merging test.xls 
merging test.xls failed! 
0 files updated, 0 files merged, 0 files removed, 1 files unresolved 

Qu'est-ce que je fais mal? Lorsque j'exécute docdiff à partir de la ligne de commande, il fonctionne correctement.

Répondre

1

J'ai résolu le problème. On dirait que j'ai essayé la fusion automatique au lieu d'une manuelle. La fusion automatique de binaires n'est pas supportée, mais j'ai compris comment lancer docdiff depuis l'interface de TortoiseHG.

Donc, la réponse est la suivante: pour fusionner .xls fichiers avec TortoiseHg on doit utiliser la fusion manuelle avec docdiff. TortoiseHg ne lance pas docdiff pendant la fusion automatique.

+1

Ce n'est pas une réponse. Vous dites que vous avez trouvé la réponse, mais vous ne dites pas quelle est la réponse. –

0

Les outils Hg ne peuvent pas fusionner des fichiers binaires, uniquement des fichiers texte (la plupart des fichiers de code source sont basés sur du texte). Ce que vous pouvez faire est d'essayer d'enregistrer votre fichier XLS en tant que fichier CSV (séparé par des virgules). C'est un fichier texte normal (que vous pouvez ouvrir avec le bloc-notes par exemple). Les outils Hg devraient être capables de fusionner ce type de fichier.

Si vous souhaitez en savoir plus sur les raisons pour lesquelles les fichiers XLS ne peuvent pas être fusionnés. Essayez d'ouvrir un fichier XLS avec Notepad, vous voyez qu'il ya beaucoup de charabia, Hg ne peut pas comprendre ce charabia sans connaître la spécification du fichier XLS (ce qui n'est pas le cas).

+1

Merci. Je comprends que les fichiers * .xls ne peuvent pas être fusionnés automatiquement, mais je m'attendais à ce que TortoiseHg charge ces fichiers automatiquement en utilisant docdiff (il le fait pour les fichiers * .doc) afin de résoudre les conflits. Par exemple. quand je dois fusionner des fichiers * .doc, je peux utiliser "tool resolve" pour lancer docdiff, avec des fichiers * .xls que je ne peux pas. –

+0

Hmm Je ne connaissais pas docdiff, que se passe-t-il si vous appelez manuellement docdiff? (par exemple sans Hg) –

+2

J'ai résolu le problème. On dirait que j'ai essayé la fusion automatique au lieu d'une manuelle. La fusion automatique de binaires n'est pas supportée, mais j'ai compris comment lancer docdiff depuis l'interface de TortoiseHG. –

0
  1. Dans l'Explorateur, cliquez avec le bouton droit sur le référentiel et clonez-le dans un dossier clone temporaire.
  2. Étant donné qu'Excel ne prend pas en charge l'ouverture de deux fichiers de classeur portant le même nom, renommez celui du clone temporaire afin qu'il puisse être ouvert dans Excel.
  3. Ouvrez les deux versions de la feuille de calcul dans Excel et copiez manuellement les modifications dans le référentiel principal.
  4. Marque le fichier résolu dans le référentiel principal.
  5. Validez la fusion.
  6. Supprimez le clone temporaire.