# HG changeset patch # User Martin von Zweigbergk # Date 1545415537 28800 # Node ID ad9ab25231492dbc6cddef60a3dfbb1ffd7f6524 # Parent 44a51c1c8e173804ae76eb68e31613e7024ed931 narrow: reuse narrowspec.updateworkingcopy() when widening The widening of the working copy we do after widening a repo is practically the same as we do in a repo share after the store narrowspec has been changed in a different share. Let's reuse the code for that that we now have in the narrowspec module. Differential Revision: https://phab.mercurial-scm.org/D5510 diff -r 44a51c1c8e17 -r ad9ab2523149 hgext/narrow/narrowcommands.py --- a/hgext/narrow/narrowcommands.py Sat Dec 29 23:40:18 2018 -0800 +++ b/hgext/narrow/narrowcommands.py Fri Dec 21 10:05:37 2018 -0800 @@ -20,7 +20,6 @@ exchange, extensions, hg, - merge, narrowspec, node, pycompat, @@ -259,8 +258,6 @@ def _widen(ui, repo, remote, commoninc, oldincludes, oldexcludes, newincludes, newexcludes): - newmatch = narrowspec.match(repo.root, newincludes, newexcludes) - # for now we assume that if a server has ellipses enabled, we will be # exchanging ellipses nodes. In future we should add ellipses as a client # side requirement (maybe) to distinguish a client is shallow or not and @@ -316,20 +313,10 @@ bundle2.processbundle(repo, bundle, transactiongetter=tgetter) - repo.setnewnarrowpats() - narrowspec.copytoworkingcopy(repo) - actions = merge.emptyactions() - addgaction = actions['g'].append - - mf = repo['.'].manifest().matches(newmatch) - for f, fn in mf.iteritems(): - if f not in repo.dirstate: - addgaction((f, (mf.flags(f), False), - "add from widened narrow clone")) - - merge.applyupdates(repo, actions, wctx=repo[None], - mctx=repo['.'], overwrite=False) - merge.recordupdates(repo, actions, branchmerge=False) + with repo.transaction('widening'): + repo.setnewnarrowpats() + narrowspec.updateworkingcopy(repo) + narrowspec.copytoworkingcopy(repo) # TODO(rdamazio): Make new matcher format and update description @command('tracked', diff -r 44a51c1c8e17 -r ad9ab2523149 tests/test-narrow-widen-no-ellipsis.t --- a/tests/test-narrow-widen-no-ellipsis.t Sat Dec 29 23:40:18 2018 -0800 +++ b/tests/test-narrow-widen-no-ellipsis.t Fri Dec 21 10:05:37 2018 -0800 @@ -128,7 +128,7 @@ added 0 changesets with 1 changes to 1 files bundle2-input-part: total payload size * (glob) bundle2-input-bundle: 0 parts total - widest/f: add from widened narrow clone -> g + widest/f: narrowspec updated -> g getting widest/f $ hg tracked I path:inside