# HG changeset patch # User Martin von Zweigbergk # Date 2023-12-16 18:48:20 # Node ID 03665fd8ccb95d947258e56205cece0b63515e71 # Parent 39f7b2b53c682bb492e49d7e52c7dbedab663bf2 narrow: strip trailing `/` from manifest dir before matching it Commit 17a822d7943e broke some of our internal tests at Google because the `dir` variable contains a trailing slash since that commit. Let's restore the old behavior by stripping that trailing slash. diff --git a/hgext/narrow/narrowcommands.py b/hgext/narrow/narrowcommands.py --- a/hgext/narrow/narrowcommands.py +++ b/hgext/narrow/narrowcommands.py @@ -296,7 +296,7 @@ def _narrow( for file_ in entry.files(): todelete.append(file_.unencoded_path) elif entry.is_manifestlog: - dir = entry.target_id + dir = entry.target_id[:-1] dirs = sorted(pathutil.dirs({dir})) + [dir] include = True for d in dirs: diff --git a/tests/test-narrow.t b/tests/test-narrow.t --- a/tests/test-narrow.t +++ b/tests/test-narrow.t @@ -550,25 +550,11 @@ Test removing `rootfilesin:` include $ hg clone --narrow ssh://user@dummy/master narrow-concurrent-modify -q \ > --include rootfilesin:d0 --include rootfilesin:d1 $ cd narrow-concurrent-modify -#if flat $ hg --config 'hooks.pretxnopen = echo modified >> d0/f' tracked --removeinclude rootfilesin:d0 comparing with ssh://user@dummy/master searching for changes looking for local changes to affected paths deleting data/d0/f.i + deleting meta/d0/00manifest.i (tree !) deleting unwanted files from working copy not deleting possibly dirty file d0/f -#endif -#if tree - $ hg --config 'hooks.pretxnopen = echo modified >> d0/f' tracked --removeinclude rootfilesin:d0 - comparing with ssh://user@dummy/master - searching for changes - looking for local changes to affected paths - deleting data/d0/f.i - deleting meta/d0/00manifest.i - deleting meta/d1/00manifest.i (known-bad-output !) - deleting unwanted files from working copy - not deleting possibly dirty file d0/f - abort: meta/d1/00manifest@77a3e194be076ae47ba9282271028916012d815c: no node (known-bad-output !) - [50] -#endif