diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -548,9 +548,10 @@ def docopy(ui, repo, pats, opts, wlock): targets[abstarget] = abssrc if abstarget != origsrc: if repo.dirstate.state(origsrc) == 'a': - ui.warn(_("%s was marked for addition. " - "%s will not be committed as a copy.\n") - % (repo.pathto(origsrc, cwd), reltarget)) + if not ui.quiet: + ui.warn(_("%s has not been committed yet, so no copy " + "data will be stored for %s.\n") + % (repo.pathto(origsrc, cwd), reltarget)) if abstarget not in repo.dirstate and not opts.get('dry_run'): repo.add([abstarget], wlock) elif not opts.get('dry_run'): @@ -2471,6 +2472,8 @@ def serve(ui, repo, **opts): for o in optlist.split(): if opts[o]: parentui.setconfig("web", o, str(opts[o])) + if repo.ui != parentui: + repo.ui.setconfig("web", o, str(opts[o])) if repo is None and not ui.config("web", "webdir_conf"): raise hg.RepoError(_("There is no Mercurial repository here"