Автоматическое преобразование определенных двоичных файлов в текст для сравнения (сравнения) в Mercurial - PullRequest
2 голосов
/ 10 октября 2011

У меня есть несколько небольших файлов, добавленных в мой репозиторий Mercurial.Эти файлы являются исходными файлами одного из моих инструментов разработки (определения отчета / формы / класса).

Я создал программу, которая выводит эти двоичные файлы в текстовый файл, чтобы облегчить различие между ними.Есть ли способ сообщить Mercurial, что некоторые расширения файлов должны запускать это преобразование перед запуском программы diff?Или я должен установить свою программу преобразования в качестве основного инструмента сравнения и запустить преобразование - или нет - и , затем запустить настоящую программу сравнения?

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Вы можете (TBT) использовать Расширение ExtDiff для чистого Mercurial.В случае TortoiseHG

[diff-patterns]
**.ext = difftool

в hgrc играет игра

0 голосов
/ 10 октября 2011

Я получил небольшую партию, предшествующую программе diff:

@echo off
set f1=%1
set f2=%2
::Temporary dir created by hg to copy the snapshot file
set tdir=%~dp1
::Original repository dir
set repo=%~dp2
::Filename extension
set ext=%~x1
::The binary files comes in pairs: scx/sct \ vcx/vct ...
set ex2=%ext:~0,-1%t

::Check if "dumpable" extension
echo %ext% | grep -iE "(vcx|vct|scx|sct|pjx|pjt|frx|frt)" > nul && goto DumpFile
goto diff

:DumpFile
set f1="%tdir%\_Dump1.prg"
set f2="%tdir%\_Dump2.prg"
::Get the pair file from the repository
hg cat %repo%\%~n1%ex2% -o "%~dpn1%ex2%" -R %repo%

::Do the dump, then the diff
MyDumpProgram.exe %1 %f1%
MyDumpProgram.exe %2 %f2%
goto diff

:diff
ExamDiff.exe %f1% %f2%
pause

, а затем сконфигурировал партию в% UserProfile% \. Hgrc

[extdiff]
cmd.ediff = d:\Utiles\diff2.bat
...