[PATCH 3 of 4] hgmerge: remove obsoleted code, update docs

Jesse Glick jesse.glick at sun.com
Tue Jan 8 19:02:43 UTC 2008


Steve Borho wrote:
> [merge]
> default = kdiff3
> **.html = myHtmlPlugin
> **.lib = takelocal

Or just

[merge]
** = kdiff3
**.html = myHtmlPlugin
**.lib = takelocal

This is assuming that '**' is automatically taken to be more general and 
not take precedence. (Doing precedence by order in the config file will 
not work too well when multiple config files are being merged.)

Unfortunately encode/decode hooks do _not_ do this sensibly, so

[encode]
** = cleverencode:
**.gz = gunzip

will not work: Hg sorts these hooks before applying them, and '**' sorts 
before just about everything. The workaround is a bit nasty:

[encode]
glob:** = cleverencode:
**.gz = gunzip

I am not sure what a good general algorithm for arranging globs (or 
regexps) would be. Probably impossible to make it exact (i.e. always 
pick a more specific pattern), but it might be enough to e.g. prefer 
longer patterns to shorter.

-- 
jesse.glick at sun.com netbeans.org ant.apache.org hudson.dev.java.net
selenic.com/mercurial http://google.com/search?q=e%5E%28pi*i%29%2B1




More information about the Mercurial-devel mailing list