@@ -25,7 +25,7 @@ def get_network_root(self) -> t.Optional[Path]:
2525
2626 @abstractmethod
2727 def list_relevant_files (
28- self , directory : t .Optional [Path ] = None
28+ self , directory : t .Optional [Path ] = None , recurse_submodules : bool = False
2929 ) -> t .Optional [t .List [str ]]:
3030 pass
3131
@@ -125,14 +125,17 @@ def get_network_root(self):
125125 return Path (p .stdout .decode ().rstrip ())
126126 return None
127127
128- def list_relevant_files (self , directory : t .Optional [Path ] = None ) -> t .List [str ]:
128+ def list_relevant_files (
129+ self , directory : t .Optional [Path ] = None , recurse_submodules : bool = False
130+ ) -> t .List [str ]:
129131 dir_to_use = directory or self .get_network_root ()
130132 if dir_to_use is None :
131133 raise ValueError ("Can't determine root folder" )
132134
133- res = subprocess .run (
134- ["git" , "-C" , str (dir_to_use ), "ls-files" ], capture_output = True
135- )
135+ cmd = ["git" , "-C" , str (dir_to_use ), "ls-files" ]
136+ if recurse_submodules :
137+ cmd .append ("--recurse-submodules" )
138+ res = subprocess .run (cmd , capture_output = True )
136139
137140 return [
138141 (
@@ -155,5 +158,7 @@ def get_network_root(self):
155158 def get_fallback_value (self , fallback_field : FallbackFieldEnum ):
156159 return None
157160
158- def list_relevant_files (self , directory : t .Optional [Path ] = None ) -> t .List [str ]:
161+ def list_relevant_files (
162+ self , directory : t .Optional [Path ] = None , recurse_submodules : bool = False
163+ ) -> t .List [str ]:
159164 return []
0 commit comments