def init_gitignore(self, src_path): logger.info("Loading ignore pattern from all `.gitignore`") gitignore_list = dfs_get_gitignore(src_path) self.gitignore_dict = get_all_re(gitignore_list) # Match file or folder from the nearest `.gitignore` _gitignore_list = sorted(self.gitignore_dict.keys())[::-1] for index in range(len(_gitignore_list)): # Change '/test/.gitignore' to '/test/' _gitignore_list[index] = _gitignore_list[index][:-10] self.gitignore_list = _gitignore_list logger.info("All ignore pattern has been loaded")
def test_dfs_get_gitignore(self, _os): _os.path.abspath.return_value = "/young/simple" _os.listdir.return_value = ["naive", ".gitignore"] _os.path.join.side_effect = [ "/young/simple/naive", "/young/simple/.gitignore" ] _os.path.isdir.return_value = False result = dfs_get_gitignore("/young/simple") self.assertEqual( result, ["/young/simple/.gitignore"] )