"David Symonds" <dsymonds@xxxxxxxxx> writes: > On Fri, Nov 7, 2008 at 7:22 PM, John Chapman <thestar@xxxxxxxxxxxxxxxx> wrote: > > > +_gitConfig = {} > > def gitConfig(key): > > - return read_pipe("git config %s" % key, ignore_error=True).strip() > > + if not _gitConfig.has_key(key): > > + _gitConfig[key] = read_pipe("git config %s" % key, ignore_error=True).strip() > > + return _gitConfig[key] > > If this is truly a noticeable bottleneck on Windows, something like > the following might be even better: (completely untested!) > > _gitConfig = None > def gitConfig(key): > if _gitConfig is None: > lines = read_pipe("git config -l", ignore_error=True).readlines(): > _gitConfig = dict([l.strip().split('=', 1) for l in lines]) > return _gitConfig.get(key, None) Wouldn't it be better to use "git config -l -z", split lines at "\0" (NUL), and split key from value at first "\N" (CR)? This format was meant for scripts. -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html