1# 2# Copyright 2014, NICTA 3# 4# This software may be distributed and modified according to the terms of 5# the BSD 2-Clause license. Note that NO WARRANTY is provided. 6# See "LICENSE_BSD2.txt" for details. 7# 8# @TAG(NICTA_BSD) 9# 10 11============================ 12Graphical Diff for Mercurial 13============================ 14 15This code lets you do a graphical diff in mercurial of Isabelle files 16using FileMerge, a OS X merge program. 17 18There are two parts: 191. Setting up mercurial to use FileMerge 202. Running a preprocessor script over the Isabelle files to produce Unicode. 21 22====== 23Usage 24====== 25 26hg opendiff 27 28===================================== 29Setting up mercurial to use FileMerge 30===================================== 31 32As documented at 33http://mercurial.selenic.com/wiki/TipsAndTricks#Using_FileMerge.app.2BAC8-opendiff_as_the_diff_program_.28OS_X.29 34 351. Add the below to your .hgrc file 36 37[extensions] 38hgext.extdiff = 39 40[extdiff] 41cmd.opendiff = fmdiff 42 432. Add fmdiff to a folder somewhere in your path. 44http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ 45 46======================================= 47Setting up a predecessor for FileMerge 48======================================= 49 50FileMerge doesn't understand x-symbols, but can run a preprocessor over 51files first before it does a diff. (It appears as though you can't use 52FileMerge to merge files when you do this.) 53 54Thus, symbols.py does a find/replace on various x-symbols and replaces 55them with their Unicode equivalents. 56 57In FileMerge, go to FileMerge->Preferences���->Filters 58Below the current filters, double-click and add: 59thy ~/xsymbol.py $(FILE) Filtered No 60 61Change the location to where the xsymbol script is located. 62