diff --git a/rule_coverage/coverage.py b/rule_coverage/coverage.py index 185591ce57..538927639c 100644 --- a/rule_coverage/coverage.py +++ b/rule_coverage/coverage.py @@ -64,7 +64,12 @@ def checkout(repo,version,batch_mode): for tag in git_repo.tags: if not '-' in tag.name: print(f"{repo} {tag.name}") - g.checkout(tag.name) + try: + g.checkout(tag.name) + except Exception: + print("checkout failed, resetting and cleaning") + g.reset('--hard',tag) + g.clean('-xfd') dump_rules(repo,tag.name) os.chdir('..') else: