# HG changeset patch # User Alexis S. L. Carvalho # Date 1160516600 10800 # Node ID e4aa22eaa0e4e2ce28a85cf91a43e3a9920263fa # Parent bce7c1b4c1c852c9e05774528207e577542cc547 call ui.updateopts only after changing directories This corrects --config paths.foo=bar when it's used with --cwd diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -3318,10 +3318,6 @@ def dispatch(args): (t[4]-s[4], t[0]-s[0], t[2]-s[2], t[1]-s[1], t[3]-s[3])) atexit.register(print_time) - u.updateopts(options["verbose"], options["debug"], options["quiet"], - not options["noninteractive"], options["traceback"], - parseconfig(options["config"])) - # enter the debugger before command execution if options['debugger']: pdb.set_trace() @@ -3334,6 +3330,10 @@ def dispatch(args): raise util.Abort('%s: %s' % (options['cwd'], inst.strerror)) + u.updateopts(options["verbose"], options["debug"], options["quiet"], + not options["noninteractive"], options["traceback"], + parseconfig(options["config"])) + path = u.expandpath(options["repository"]) or "" repo = path and hg.repository(u, path=path) or None if repo and not repo.local(): diff --git a/tests/test-globalopts.out b/tests/test-globalopts.out --- a/tests/test-globalopts.out +++ b/tests/test-globalopts.out @@ -105,6 +105,7 @@ a %% --traceback +Traceback (most recent call last): %% --time Time: real x.x secs (user x.x+x.x sys x.x+x.x) %% --version