# HG changeset patch # User Pierre-Yves David # Date 2023-02-04 10:46:57 # Node ID 115510658219633a517c7bd640a449fbcaa751bb # Parent e859f440daa9f7b21f9156f4a49ffa99625d7e38 locking: hold the wlock for the full duration of the "keyword demo" The risk of racing the demo is low, since it seems to create its own repository on the fly. However it is clearer and more consistent. diff --git a/hgext/keyword.py b/hgext/keyword.py --- a/hgext/keyword.py +++ b/hgext/keyword.py @@ -531,17 +531,17 @@ def demo(ui, repo, *args, **opts): demoitems(b'keywordmaps', kwmaps.items()) keywords = b'$' + b'$\n$'.join(sorted(kwmaps.keys())) + b'$\n' repo.wvfs.write(fn, keywords) - repo[None].add([fn]) - ui.note(_(b'\nkeywords written to %s:\n') % fn) - ui.note(keywords) with repo.wlock(): + repo[None].add([fn]) + ui.note(_(b'\nkeywords written to %s:\n') % fn) + ui.note(keywords) repo.dirstate.setbranch(b'demobranch') - for name, cmd in ui.configitems(b'hooks'): - if name.split(b'.', 1)[0].find(b'commit') > -1: - repo.ui.setconfig(b'hooks', name, b'', b'keyword') - msg = _(b'hg keyword configuration and expansion example') - ui.note((b"hg ci -m '%s'\n" % msg)) - repo.commit(text=msg) + for name, cmd in ui.configitems(b'hooks'): + if name.split(b'.', 1)[0].find(b'commit') > -1: + repo.ui.setconfig(b'hooks', name, b'', b'keyword') + msg = _(b'hg keyword configuration and expansion example') + ui.note((b"hg ci -m '%s'\n" % msg)) + repo.commit(text=msg) ui.status(_(b'\n\tkeywords expanded\n')) ui.write(repo.wread(fn)) repo.wvfs.rmtree(repo.root)