git: pass a list to pathutil.dirs to indicate that it is a manifest
authorJosef 'Jeff' Sipek <jeffpc@josefsipek.net>
Fri, 27 Mar 2020 10:38:40 -0400
changeset 44625 e9e7156a8d6c
parent 44624 7cab8dbd0497
child 44626 11f284c8c5e4
git: pass a list to pathutil.dirs to indicate that it is a manifest The python implementation of pathutil.dirs just uses a for loop which happens to work the same on both dicts and lists. The rust implementation actually figures out which of the two types it is, and directs the execution to either dirstate or manifest processing.
hgext/git/manifest.py
--- a/hgext/git/manifest.py	Thu Mar 26 17:49:30 2020 -0400
+++ b/hgext/git/manifest.py	Fri Mar 27 10:38:40 2020 -0400
@@ -232,7 +232,7 @@
         # just narrow?
         assert not match or isinstance(match, matchmod.alwaysmatcher)
 
-        touched_dirs = pathutil.dirs(self._pending_changes)
+        touched_dirs = pathutil.dirs(list(self._pending_changes))
         trees = {
             b'': self._tree,
         }