[PATCH 1 of 5] add hgmerge subsystem

Steve Borho steve at borho.org
Fri Feb 1 22:22:04 CST 2008


On Sat, 2008-02-02 at 09:34 +0530, dhruva wrote:
> On Feb 1, 2008 10:46 PM, Matt Mackall <mpm at selenic.com> wrote:
> >
> > On Thu, 2008-01-31 at 22:56 -0600, Steve Borho wrote:
> > > +def _setup_plugs(ui):
> > > +    def handle_conf(name, plugs):
> > > +        for p in plugs:
> > > +            if p.name.lower() == name.lower():
> >
> > a) This is O(n^2)
> > b) Do we really want to be case-insensitive?
> 
> On platforms that are not case sensitive (M$):
> 1. If a file in 1 repo has FooBar.txt
> 2. Clone repo 1 as 2
> 3. Rename file from FooBar.txt to foobar.txt
> 
> Since #3 does not make any sense on M$, when I compare files between
> repos (1 & 2), there should be no difference. If a case sensitive diff
> is done, it will assume FooBar.txt to be different from foobar.txt.
> 
> Please correct me if I am wrong here in understanding the current
> behavior of hgmerge (standalone).

The code in question is just matching tool names, not files.

To answer Matt's questions; case insensitive is preferred but not
absolutely necessary.  At the time that code was added, the built-in
tools had mixed case names.  They have all since been lowercased.

-- 
Steve Borho (steve at borho.org)
http://www.borho.org/~steve/steve.asc
Key fingerprint = 2D08 E7CF B624 624C DE1F  E2E4 B0C2 5292 F2C6 2C8C



More information about the Mercurial-devel mailing list