AI Slop Code RIsk Monitor

gitpython-developers/GitPython

GitPython is a python library used to interact with Git repositories.

38.3 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for gitpython-developers/GitPython, a Python project with 5,184 GitHub stars. SynthScan examined 50,957 lines of code across 178 source files, recording 1328 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 38.3 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

38.3
Adjusted Signal
38.3
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
5.2K
Stars
Python
Language
51.0K
Lines of Code
178
Files
1.3K
Pattern Hits
2026-10-12
Scan Date
0.43
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 65.5/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 863 finding(s).

Hallucinated Dependency & Supply Chain Risk 32.0/100 · MEDIUM

Are imports declared and package/API names verified? 284 finding(s).

Agent Over-Engineering Ratio 61.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 739 finding(s).

PR Review Velocity Impact 87.4/100 · CRITICAL

Which changes need focused human review? 1328 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 74MEDIUM 196LOW 1056

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1328 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers551 hits · 490 pts
SeverityFileLineSnippetContext
LOWfuzzing/fuzz-targets/utils.py10def is_expected_exception_message(exception: Exception, error_message_list: List[str]) -> bool: # pragma: no coverCODE
LOW⚡fuzzing/fuzz-targets/utils.py78def match_exception_with_traceback(exception_list: Set[Tuple[str, str]], exc_traceback) -> bool:CODE
LOWfuzzing/fuzz-targets/utils.py89def check_exception_against_list(exc_traceback, exception_file: str = "explicit-exceptions-list.txt") -> bool:CODE
LOW⚡test/test_positional_args.py16def test_pull_rejects_option_shaped_refspec(tmp_path, refspec, allow_unsafe_options):CODE
LOW⚡test/test_positional_args.py25def test_pull_rejects_option_shaped_remote(tmp_path):CODE
LOW⚡test/test_positional_args.py34def test_pull_preserves_operand_and_explicit_option_values(tmp_path):CODE
LOWtest/test_positional_args.py45def test_delete_head_cannot_override_force(tmp_path):CODE
LOW⚡test/test_positional_args.py58def test_rename_head_cannot_select_current_branch(tmp_path):CODE
LOW⚡test/test_positional_args.py68def test_tag_operands_follow_option_terminator(tmp_path):CODE
LOW⚡test/test_positional_args.py77def test_remote_ref_delete_preserves_operand(tmp_path):CODE
LOW⚡test/test_positional_args.py85def test_move_treats_option_shaped_source_as_filename(tmp_path):CODE
LOW⚡test/test_positional_args.py94def test_move_cannot_override_overwrite_protection(tmp_path):CODE
LOWtest/test_positional_args.py107def test_ignored_treats_option_shaped_path_as_filename(tmp_path):CODE
LOWtest/test_positional_args.py113def test_move_cannot_override_dry_run(tmp_path):CODE
LOWtest/test_positional_args.py124def test_remote_update_rejects_option_shaped_name(tmp_path, name):CODE
LOWtest/test_tree.py55 def test_valid_unusual_tree_names_round_trip(self):CODE
LOWtest/test_tree.py98 def test_tree_modifier_ordering(self):CODE
LOWtest/test_tree.py133 def test_tree_names_are_checked_at_construction_and_serialization(self, name):CODE
LOWtest/test_tree.py173 def test_gitmodules_symlink_entries_are_rejected(self, name):CODE
LOWtest/test_tree.py236 def test_gitmodules_short_name_near_misses_round_trip(self, name):CODE
LOW⚡test/test_tree.py304 def test_repo_lookup_string_path(self, rw_repo):CODE
LOW⚡test/test_tree.py311 def test_repo_lookup_pathlike_path(self, rw_repo):CODE
LOW⚡test/test_tree.py318 def test_repo_lookup_invalid_string_path(self, rw_repo):CODE
LOW⚡test/test_tree.py324 def test_repo_lookup_invalid_pathlike_path(self, rw_repo):CODE
LOW⚡test/test_tree.py330 def test_repo_lookup_nested_string_path(self, rw_repo):CODE
LOW⚡test/test_tree.py337 def test_repo_lookup_nested_pathlike_path(self, rw_repo):CODE
LOW⚡test/test_tree.py344 def test_repo_lookup_folder_string_path(self, rw_repo):CODE
LOW⚡test/test_tree.py351 def test_repo_lookup_folder_pathlike_path(self, rw_repo):CODE
LOWtest/test_rev_parse.py62def test_rev_parse_names_hex_and_describe_forms(rev_parse_repo):CODE
LOWtest/test_rev_parse.py80def test_rev_parse_navigation_and_peeling(rev_parse_repo):CODE
LOWtest/test_rev_parse.py105def test_rev_parse_tree_and_index_paths(rev_parse_repo):CODE
LOWtest/test_rev_parse.py116def test_rev_parse_reflog_selectors(rev_parse_repo):CODE
LOWtest/test_rev_parse.py134def test_rev_parse_commit_message_search(rev_parse_repo):CODE
LOW⚡test/test_rev_parse.py156def test_rev_parse_commit_message_search_matches_git(rev_parse_repo, revision):CODE
LOW⚡test/test_rev_parse.py163def test_commit_and_tree_message_search(rev_parse_repo, revision):CODE
LOW⚡test/test_rev_parse.py170def test_rev_parse_commit_message_literal_bang_and_option(rev_parse_repo):CODE
LOW⚡test/test_rev_parse.py179def test_rev_parse_commit_message_escaped_braces(rev_parse_repo):CODE
LOW⚡test/test_rev_parse.py186def test_revision_message_search_does_not_backtrack_in_python(tmp_path):CODE
LOWtest/test_rev_parse.py220def test_revision_message_search_does_not_deserialize_history(tmp_path, monkeypatch):CODE
LOWtest/test_rev_parse.py233def test_commit_and_tree_resolve_before_peeling(rev_parse_repo):CODE
LOWtest/test_rev_parse.py247def test_rev_parse_rejects_invalid_object_specs(rev_parse_repo):CODE
LOW⚡test/test_submodule.py281def test_windows_destination_validation_precedes_normalization(tmp_path, path):CODE
LOW⚡test/test_submodule.py290def test_submodule_can_relocate_its_own_metadata(movable_submodule):CODE
LOW⚡test/test_submodule.py298def test_clone_disables_metadata_that_becomes_nested(movable_submodule, monkeypatch):CODE
LOW⚡test/test_submodule.py303 def clone_and_create_ancestor(*args, **kwargs):CODE
LOW⚡test/test_submodule.py1376 def test_iter_items_from_nonexistent_hash(self):CODE
LOW⚡test/test_submodule.py1381 def test_iter_items_from_invalid_hash(self):CODE
LOW⚡test/test_submodule.py1389 def test_deinit_calls_git_submodule(self, rwdir):CODE
LOWtest/test_submodule.py58def test_submodule_update_preserves_literal_name(tmp_path, monkeypatch, caplog, name):CODE
LOWtest/test_submodule.py136def test_submodule_rejects_unsafe_checkout_before_mutation(movable_submodule, tmp_path, path, operation):CODE
LOWtest/test_submodule.py161def test_add_rejects_metadata_checkout_without_writing_files(movable_submodule):CODE
LOWtest/test_submodule.py174def test_submodule_rejects_checkout_in_separate_metadata(CODE
LOWtest/test_submodule.py200def test_submodule_rejects_nested_metadata_before_mutation(movable_submodule, operation):CODE
LOWtest/test_submodule.py224def test_update_rejects_existing_nested_metadata(movable_submodule, state):CODE
LOWtest/test_submodule.py266def test_submodule_rejects_windows_destination_names_before_mutation(movable_submodule, path):CODE
LOWtest/test_submodule.py319def test_move_rejects_intermediate_symlink(CODE
LOWtest/test_submodule.py357def test_move_normal_destination(movable_submodule, absolute_path):CODE
LOWtest/test_submodule.py373def test_move_rejects_leaf_symlink_to_metadata(movable_submodule, tmp_path, metadata_dir):CODE
LOWtest/test_submodule.py395def test_move_leaf_symlink_compatibility(movable_submodule, tmp_path, kind):CODE
LOWtest/test_submodule.py438def test_clone_rejects_checkout_symlinks(movable_submodule, tmp_path, leaf, dangling, operation, gitfile):CODE
491 more matches not shown…
Self-Referential Comments145 hits · 436 pts
SeverityFileLineSnippetContext
MEDIUMcheck-version.sh3# This file is part of GitPython and is released under theCOMMENT
MEDIUMinit-tests-after-clone.sh3# This file is part of GitPython and is released under theCOMMENT
MEDIUMbuild-release.sh3# This file is part of GitPython and is released under theCOMMENT
MEDIUMfuzzing/oss-fuzz-scripts/build.sh3# This file is part of GitPython and is released under theCOMMENT
MEDIUM…ng/oss-fuzz-scripts/container-environment-bootstrap.sh3# This file is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_stats.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_tree.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_rev_parse.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_submodule.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_db.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_actor.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_blob_filter.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_typing.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_docs.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUM⚡test/test_docs.py86 # Create a new head/branch.COMMENT
MEDIUM⚡test/test_docs.py89 new_branch = cloned_repo.create_head("feature") # Create a new branch ...CODE
MEDIUM⚡test/test_docs.py97 # Create a new tag reference.COMMENT
MEDIUMtest/test_docs.py148 # Create a local branch at one of the remote's branches.COMMENT
MEDIUMtest/test_docs.py186 # Create a new submodule and check it out on the spot, set up to track theCOMMENT
MEDIUMtest/test_docs.py245 new_branch = repo.create_head("new") # Create a new one.CODE
MEDIUMtest/test_docs.py473 git_cmd.checkout("HEAD", b="my_new_branch") # Create a new branch.CODE
MEDIUMtest/test_imports.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_git.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_git.py457 # Create a shell script that doesn't do anything.COMMENT
MEDIUMtest/test_git.py497 # Create the child process that inherits the environment variable. The childCOMMENT
MEDIUMtest/test_submodule_no_fetch.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_fun.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/__init__.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_clone.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_util.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_diff.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_diff.py605 # Create a file beginning by a whitespaceCOMMENT
MEDIUMtest/test_refs.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_refs.py554 # Create a new branch that is likely to touch the file we changed.COMMENT
MEDIUMtest/test_refs.py645 # Create a new non-head ref just to be sure we handle it even if packed.COMMENT
MEDIUMtest/test_refs.py748 # Create a file containing a valid reference outside the repository. AttemptingCOMMENT
MEDIUMtest/tstrunner.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_installation.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_installation.py52 # Create a convenience function to run commands in it.COMMENT
MEDIUMtest/test_repo.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_repo.py1221 # Create a repo and make sure it's pointing to the relocated .git directory.COMMENT
MEDIUMtest/test_reflog.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_config.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_config.py62 # Creating an additional config writer must fail due to exclusiveCOMMENT
MEDIUMtest/test_index.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_remote.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_remote.py304 # Create a new UN-shared repo and fetch into it after we pushed a change to theCOMMENT
MEDIUMtest/test_quick_doc.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_fixture_health.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_exc.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUM⚡test/test_blob.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_base.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_commit.py3# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/test_commit.py393 # Create a commit with Unicode in the message, and the author's name.COMMENT
MEDIUMtest/deprecation/test_basic.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUM⚡test/deprecation/lib.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/deprecation/__init__.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/deprecation/test_toplevel.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/deprecation/test_compat.py1# This module is part of GitPython and is released under theCOMMENT
MEDIUMtest/deprecation/test_remote_progress.py1# This module is part of GitPython and is released under theCOMMENT
85 more matches not shown…
Empty Error Handlers52 hits · 260 pts
SeverityFileLineSnippetContext
HIGHtest/test_util.py160except PermissionError:CODE
HIGHtest/test_repo.py1180except IndexError:CODE
HIGHtest/test_repo.py1595except GitCommandError:CODE
HIGHtest/test_repo.py884except OSError:CODE
HIGHtest/test_repo.py496except OSError:CODE
HIGHtest/test_repo.py509except OSError:CODE
HIGHtest/test_index.py167except UnicodeDecodeError:CODE
HIGHtest/test_remote.py68except ValueError:CODE
HIGHtest/lib/helper.py318except Exception:CODE
HIGHsmmap/smmap/mman.py65except (TypeError, KeyError):CODE
HIGHsmmap/smmap/test/lib.py33except OSError:CODE
HIGHgitdb/gitdb/pack.py39except ImportError:CODE
HIGHgitdb/gitdb/fun.py703except ImportError:CODE
HIGHgitdb/gitdb/util.py181except OSError:CODE
HIGHgitdb/gitdb/stream.py36except ImportError:CODE
HIGHgitdb/gitdb/test/test_pack.py174except UnsupportedOperation:CODE
HIGHgitdb/gitdb/test/lib.py44except AttributeError:CODE
HIGHgitdb/gitdb/test/test_example.py31except UnboundLocalError:CODE
HIGHgitdb/gitdb/test/performance/test_pack.py119except UnsupportedOperation:CODE
HIGHgitdb/gitdb/db/ref.py46except OSError:CODE
HIGHgitdb/gitdb/db/ref.py73except Exception:CODE
HIGHgitdb/gitdb/db/base.py188except KeyError:CODE
HIGHgit/cmd.py856except (GitCommandNotFound, PermissionError):CODE
HIGHgit/cmd.py136except OSError:CODE
HIGHgit/config.py460except ReferenceError:CODE
HIGHgit/remote.py1248except AttributeError:CODE
HIGHgit/remote.py971except ValueError:CODE
HIGHgit/util.py1263except OSError:CODE
HIGHgit/util.py1379except (AttributeError, TypeError):CODE
HIGHgit/objects/fun.py133except IndexError:CODE
HIGHgit/objects/commit.py848except AttributeError:CODE
HIGHgit/objects/submodule/base.py249except ValueError:CODE
HIGHgit/objects/submodule/base.py279except AttributeError:CODE
HIGHgit/objects/submodule/base.py1436except KeyError:CODE
HIGHgit/objects/submodule/base.py1684except (cp.NoSectionError, ValueError):CODE
HIGHgit/objects/submodule/base.py451except FileNotFoundError:CODE
HIGHgit/objects/submodule/base.py942except InvalidGitRepositoryError:CODE
HIGHgit/refs/remote.py71except OSError:CODE
HIGHgit/refs/remote.py75except OSError:CODE
HIGHgit/refs/symbolic.py432except ValueError:CODE
HIGHgit/refs/symbolic.py745except OSError:CODE
HIGHgit/refs/symbolic.py997except ValueError:CODE
HIGHgit/index/base.py195except AttributeError:CODE
HIGHgit/index/base.py691except IndexError:CODE
HIGHgit/index/base.py456except OSError:CODE
HIGHgit/index/base.py628except KeyError:CODE
HIGHgit/index/base.py1580except KeyError:CODE
HIGHgit/repo/fun.py241except ValueError:CODE
HIGHgit/repo/fun.py318except TypeError:CODE
HIGHgit/repo/fun.py339except TypeError:CODE
HIGHgit/repo/base.py389except Exception:CODE
HIGHgit/repo/base.py435except Exception:CODE
Unused Imports249 hits · 216 pts
SeverityFileLineSnippetContext
LOWtest/deprecation/test_basic.py33CODE
LOWtest/deprecation/test_basic.py35CODE
LOWtest/deprecation/test_basic.py35CODE
LOWtest/deprecation/test_basic.py36CODE
LOWtest/lib/__init__.py8CODE
LOWsmmap/smmap/__init__.py10CODE
LOWsmmap/smmap/__init__.py11CODE
LOWgitdb/gitdb/fun.py702CODE
LOWgitdb/gitdb/util.py14CODE
LOWgitdb/gitdb/util.py87CODE
LOWgitdb/gitdb/util.py87CODE
LOWgitdb/gitdb/util.py28CODE
LOWgitdb/gitdb/__init__.py14CODE
LOWgitdb/gitdb/__init__.py15CODE
LOWgitdb/gitdb/__init__.py16CODE
LOWgitdb/gitdb/stream.py30CODE
LOWgitdb/gitdb/test/lib.py21CODE
LOWgitdb/gitdb/test/db/lib.py6CODE
LOWgitdb/gitdb/test/db/lib.py6CODE
LOWgitdb/gitdb/test/db/lib.py6CODE
LOWgitdb/gitdb/test/db/test_ref.py11CODE
LOWgitdb/gitdb/db/__init__.py6CODE
LOWgitdb/gitdb/db/__init__.py7CODE
LOWgitdb/gitdb/db/__init__.py8CODE
LOWgitdb/gitdb/db/__init__.py9CODE
LOWgitdb/gitdb/db/__init__.py10CODE
LOWgitdb/gitdb/db/__init__.py11CODE
LOWgit/db.py11CODE
LOWgit/db.py26CODE
LOWgit/cmd.py6CODE
LOWgit/cmd.py71CODE
LOWgit/cmd.py72CODE
LOWgit/config.py44CODE
LOWgit/config.py46CODE
LOWgit/compat.py18CODE
LOWgit/compat.py18CODE
LOWgit/compat.py22CODE
LOWgit/compat.py22CODE
LOWgit/compat.py22CODE
LOWgit/compat.py22CODE
LOWgit/remote.py50CODE
LOWgit/remote.py51CODE
LOWgit/remote.py52CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py77CODE
LOWgit/util.py95CODE
LOWgit/util.py90CODE
LOWgit/util.py91CODE
LOWgit/util.py91CODE
LOWgit/util.py92CODE
LOWgit/util.py93CODE
LOWgit/__init__.py91CODE
LOWgit/__init__.py91CODE
LOWgit/__init__.py91CODE
189 more matches not shown…
Cross-Language Confusion22 hits · 138 pts
SeverityFileLineSnippetContext
HIGHtest/test_docs.py417 origin.push() # Attempt push, ignore errors.CODE
HIGHtest/test_docs.py418 origin.push().raise_if_error() # Push and raise error if it fails.CODE
HIGH⚡test/test_remote.py356 res = remote.push(lhead.reference, progress)CODE
HIGH⚡test/test_remote.py363 res = remote.push(lhead.reference)CODE
HIGH⚡test/test_remote.py369 res = remote.push("+%s" % lhead.reference)CODE
HIGH⚡test/test_remote.py382 res = remote.push(progress=progress, tags=True)CODE
HIGH⚡test/test_remote.py390 res = remote.push(tags=True)CODE
HIGH⚡test/test_remote.py396 res = remote.push("+%s" % new_tag.path)CODE
HIGH⚡test/test_remote.py401 res = remote.push(":%s" % new_tag.path)CODE
HIGH⚡test/test_remote.py411 res = remote.push(new_head, progress)CODE
HIGH⚡test/test_remote.py419 res = remote.push(":%s" % new_head.path, force_with_lease=force_with_lease)CODE
HIGH⚡test/test_remote.py426 res = remote.push(":%s" % new_head.path)CODE
HIGH⚡test/test_remote.py432 res = remote.push(all=True)CODE
HIGH⚡test/test_remote.py440 remote.push(":%s" % other_tag.path, kill_after_timeout=10.0)CODE
HIGHtest/test_remote.py325 remote.push(rw_repo.head.reference)CODE
HIGHtest/test_remote.py715 rem.push("__BAD_REF__")CODE
HIGHtest/test_remote.py966 remote.push(url)CODE
HIGHtest/test_remote.py983 remote.push(url, allow_unsafe_protocols=True)CODE
HIGHtest/test_remote.py1002 remote.push(**unsafe_option)CODE
HIGHtest/test_remote.py1029 remote.push(**unsafe_option, allow_unsafe_options=True)CODE
HIGHgit/remote.py125 info = remote.push()[0]STRING
HIGHgit/remote.py1223 proc = self.repo.git.push(CODE
Decorative Section Separators43 hits · 129 pts
SeverityFileLineSnippetContext
MEDIUMtest/test_submodule.py1199 # ==================================================COMMENT
MEDIUMtest/test_submodule.py1240 # ==============COMMENT
MEDIUMtest/test_submodule.py1261 # ====================================COMMENT
MEDIUMtest/test_submodule.py1304 # =============COMMENT
MEDIUMtest/test_submodule.py1332 # ==============COMMENT
MEDIUMtest/test_submodule.py1361 # =================COMMENT
MEDIUMtest/deprecation/test_basic.py38# ------------------------------------------------------------------------COMMENT
MEDIUMdoc/source/conf.py24# ---------------------COMMENT
MEDIUMdoc/source/conf.py94# -----------------------COMMENT
MEDIUMdoc/source/conf.py159# ------------------------COMMENT
MEDIUMgit/db.py28# --------------------------------------------------------COMMENT
MEDIUMgit/cmd.py74# ---------------------------------------------------------------------------------COMMENT
MEDIUMgit/cmd.py95# ==============================================================================COMMENT
MEDIUMgit/cmd.py97# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/config.py53# -------------------------------------------------------------COMMENT
MEDIUMgit/compat.py36# ---------------------------------------------------------------------------COMMENT
MEDIUMgit/remote.py58# -------------------------------------------------------------COMMENT
MEDIUMgit/util.py109# ---------------------------------------------------------------------COMMENT
MEDIUMgit/types.py218# -----------------------------------------------------------------------------------COMMENT
MEDIUMgit/exc.py58# ------------------------------------------------------------------COMMENT
MEDIUMgit/diff.py45# ------------------------------------------------------------------------COMMENT
MEDIUMgit/objects/tree.py47# --------------------------------------------------------COMMENT
MEDIUMgit/objects/fun.py39# ---------------------------------------------------COMMENT
MEDIUMgit/objects/util.py84# --------------------------------------------------------------------COMMENT
MEDIUMgit/objects/commit.py56# ------------------------------------------------------------------------COMMENT
MEDIUMgit/objects/base.py36# --------------------------------------------------------------------------COMMENT
MEDIUMgit/objects/tag.py33# ---------------------------------------------------COMMENT
MEDIUMgit/objects/submodule/root.py22# ----------------------------------------------------------------------------COMMENT
MEDIUMgit/objects/submodule/base.py74# -----------------------------------------------------------------------------COMMENT
MEDIUMgit/objects/submodule/base.py902 # ===============================COMMENT
MEDIUMgit/objects/submodule/base.py906 # ===============================COMMENT
MEDIUMgit/refs/log.py38# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/refs/remote.py24# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/refs/symbolic.py50# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/refs/head.py29# -------------------------------------------------------------------COMMENT
MEDIUMgit/refs/reference.py20# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/refs/tag.py27# ------------------------------------------------------------------------------COMMENT
MEDIUMgit/index/fun.py54# ------------------------------------------------------------------------------------COMMENT
MEDIUMgit/index/util.py25# ---------------------------------------------------------------------------------COMMENT
MEDIUMgit/index/typ.py28# ---------------------------------------------------------------------------------COMMENT
MEDIUMgit/index/base.py89# ------------------------------------------------------------------------------------COMMENT
MEDIUMgit/repo/fun.py50# ----------------------------------------------------------------------------COMMENT
MEDIUMgit/repo/base.py94# -----------------------------------------------------------COMMENT
Deep Nesting95 hits · 80 pts
SeverityFileLineSnippetContext
LOWsetup.py42CODE
LOWfuzzing/fuzz-targets/fuzz_submodule.py23CODE
LOWtest/test_submodule.py136CODE
LOWtest/test_submodule.py174CODE
LOWtest/test_submodule.py200CODE
LOWtest/test_submodule.py465CODE
LOWtest/test_git.py854CODE
LOWtest/test_clone.py383CODE
LOWtest/test_command_guards.py41CODE
LOWtest/test_diff.py425CODE
LOWtest/test_refs.py298CODE
LOWtest/test_refs.py956CODE
LOWtest/test_refs.py979CODE
LOWtest/test_refs.py998CODE
LOWtest/test_repo.py121CODE
LOWtest/test_repo.py146CODE
LOWtest/test_config.py286CODE
LOWtest/test_config.py1093CODE
LOWtest/test_index.py791CODE
LOWtest/test_index.py1254CODE
LOWtest/test_index.py810CODE
LOWtest/test_base.py37CODE
LOWtest/lib/helper.py265CODE
LOWtest/lib/helper.py296CODE
LOWtest/lib/helper.py298CODE
LOWtest/performance/test_odb.py13CODE
LOWsmmap/smmap/mman.py303CODE
LOWsmmap/smmap/mman.py491CODE
LOWsmmap/smmap/test/test_mman.py50CODE
LOWsmmap/smmap/test/test_mman.py96CODE
LOWsmmap/smmap/test/test_buf.py25CODE
LOWgitdb/gitdb/pack.py862CODE
LOWgitdb/gitdb/fun.py536CODE
LOWgitdb/gitdb/fun.py248CODE
LOWgitdb/gitdb/test/test_stream.py76CODE
LOWgitdb/gitdb/test/performance/test_pack.py105CODE
LOWgitdb/gitdb/db/git.py44CODE
LOWgit/cmd.py102CODE
LOWgit/cmd.py141CODE
LOWgit/cmd.py188CODE
LOWgit/cmd.py792CODE
LOWgit/cmd.py1039CODE
LOWgit/cmd.py1104CODE
LOWgit/cmd.py1351CODE
LOWgit/cmd.py1745CODE
LOWgit/config.py270CODE
LOWgit/config.py77CODE
LOWgit/config.py412CODE
LOWgit/config.py473CODE
LOWgit/config.py668CODE
LOWgit/config.py737CODE
LOWgit/config.py866CODE
LOWgit/config.py1055CODE
LOWgit/config.py498CODE
LOWgit/config.py511CODE
LOWgit/remote.py218CODE
LOWgit/remote.py383CODE
LOWgit/remote.py705CODE
LOWgit/remote.py953CODE
LOWgit/util.py397CODE
35 more matches not shown…
Modern Structural Boilerplate55 hits · 54 pts
SeverityFileLineSnippetContext
LOW⚡test/deprecation/lib.py6__all__ = ["assert_no_deprecation_warning", "suppress_deprecation_warning"]CODE
LOWtest/lib/__init__.py10__all__ = [name for name, obj in locals().items() if not (name.startswith("_") or inspect.ismodule(obj))]CODE
LOWtest/lib/helper.py6__all__ = [CODE
LOWsmmap/smmap/mman.py12__all__ = ["StaticWindowMapManager", "SlidingWindowMapManager", "WindowCursor"]CODE
LOWsmmap/smmap/buf.py4__all__ = ["SlidingWindowMapBuffer"]CODE
LOWsmmap/smmap/util.py8__all__ = ["align_to_mmap", "is_64_bit",CODE
LOWsmmap/smmap/test/lib.py6__all__ = ['TestBase', 'FileCreator']CODE
LOWgitdb/gitdb/exc.py8__all__ = [CODE
LOWgit/db.py6__all__ = ["GitCmdObjectDB", "GitDB"]CODE
LOWgit/cmd.py8__all__ = ["GitMeta", "Git"]CODE
LOWgit/cmd.py1177 def set_persistent_git_options(self, **kwargs: Any) -> None:CODE
LOWgit/config.py8__all__ = ["GitConfigParser", "SectionConstraint"]CODE
LOWgit/remote.py8__all__ = ["RemoteProgress", "PushInfo", "FetchInfo", "Remote"]CODE
LOWgit/remote.py590 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/util.py8__all__ = [CODE
LOWgit/__init__.py8__all__ = [CODE
LOWgit/exc.py8__all__ = [CODE
LOWgit/diff.py6__all__ = ["DiffConstants", "NULL_TREE", "NULL_TREE_SHA", "INDEX", "Diffable", "DiffIndex", "Diff"]CODE
LOWgit/objects/tree.py6__all__ = ["TreeModifier", "Tree"]CODE
LOWgit/objects/tree.py207 def _set_cache_(self, attr: str) -> None:STRING
LOWgit/objects/fun.py6__all__ = [CODE
LOWgit/objects/util.py8__all__ = [CODE
LOWgit/objects/commit.py6__all__ = ["Commit"]CODE
LOWgit/objects/commit.py241 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/objects/__init__.py6__all__ = [CODE
LOWgit/objects/blob.py6__all__ = ["Blob"]CODE
LOWgit/objects/base.py6__all__ = ["Object", "IndexObject"]CODE
LOWgit/objects/base.py159 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/objects/base.py280 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/objects/tag.py12__all__ = ["TagObject"]CODE
LOWgit/objects/tag.py105 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/objects/submodule/util.py4__all__ = [CODE
LOWgit/objects/submodule/util.py89 def set_submodule(self, submodule: "Submodule") -> None:CODE
LOWgit/objects/submodule/__init__.py4__all__ = ["Submodule", "UpdateProgress", "RootModule", "RootUpdateProgress"]CODE
LOWgit/objects/submodule/root.py4__all__ = ["RootModule", "RootUpdateProgress"]CODE
LOWgit/objects/submodule/base.py4__all__ = ["Submodule", "UpdateProgress"]CODE
LOWgit/objects/submodule/base.py170 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/refs/log.py4__all__ = ["RefLog", "RefLogEntry"]CODE
LOWgit/refs/remote.py6__all__ = ["RemoteReference"]CODE
LOWgit/refs/__init__.py4__all__ = [CODE
LOWgit/refs/symbolic.py4__all__ = ["SymbolicReference"]CODE
LOWgit/refs/head.py9__all__ = ["HEAD", "Head"]CODE
LOWgit/refs/reference.py4__all__ = ["Reference"]CODE
LOWgit/refs/tag.py11__all__ = ["TagReference", "Tag"]CODE
LOWgit/index/fun.py7__all__ = [CODE
LOWgit/index/util.py6__all__ = ["TemporaryFileSwap", "post_clear_cache", "default_index", "git_working_dir"]CODE
LOWgit/index/__init__.py6__all__ = [CODE
LOWgit/index/typ.py6__all__ = ["BlobFilter", "BaseIndexEntry", "IndexEntry", "StageType"]CODE
LOWgit/index/base.py9__all__ = ["IndexFile", "CheckoutError", "StageType"]CODE
LOWgit/index/base.py161 def _set_cache_(self, attr: str) -> None:CODE
LOWgit/repo/fun.py8__all__ = [CODE
LOWgit/repo/__init__.py6__all__ = ["Repo"]CODE
LOWgit/repo/base.py8__all__ = ["Repo"]CODE
LOWgit/repo/base.py1040 def _set_alternates(self, alts: List[str]) -> None:CODE
LOWgit/repo/base.py1006 def _set_daemon_export(self, value: object) -> None:STRING
Over-Commented Block48 hits · 48 pts
SeverityFileLineSnippetContext
LOWfuzzing/fuzz-targets/fuzz_config.py1# Copyright 2023 Google LLCCOMMENT
LOWtest/test_docs.py21 #COMMENT
LOWtest/__init__.py1# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributorsCOMMENT
LOWtest/test_index.py1601 # distinguish from the real bash.exe. But even if the real bash.exe is absent orCOMMENT
LOWtest/test_quick_doc.py41 # ![1-test_cloned_repo_object]COMMENT
LOWtest/test_quick_doc.py81 # ![6-test_cloned_repo_object]COMMENT
LOWtest/test_quick_doc.py181COMMENT
LOWtest/test_quick_doc.py221 # File 2 version 1COMMENT
LOWtest/performance/__init__.py1# This module is part of GitPython and is released under theCOMMENT
LOWsmmap/doc/source/conf.py1#COMMENT
LOWsmmap/doc/source/conf.py41copyright = '2011, Sebastian Thiel'COMMENT
LOWsmmap/doc/source/conf.py61COMMENT
LOWsmmap/doc/source/conf.py81#show_authors = FalseCOMMENT
LOWsmmap/doc/source/conf.py101# Add any paths that contain custom themes here, relative to this directory.COMMENT
LOWsmmap/doc/source/conf.py121# relative to this directory. They are copied after the builtin static files,COMMENT
LOWsmmap/doc/source/conf.py141#html_use_modindex = TrueCOMMENT
LOWsmmap/doc/source/conf.py181#latex_logo = NoneCOMMENT
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/workflows/codeql.yml41 # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlinCOMMENT
LOWdoc/source/conf.py1# GitPython documentation build configuration file, originally created byCOMMENT
LOWdoc/source/conf.py61# non-false value, then it is used:COMMENT
LOWdoc/source/conf.py101# html_title = NoneCOMMENT
LOWdoc/source/conf.py121# html_last_updated_fmt = '%b %d, %Y'COMMENT
LOWdoc/source/conf.py141# html_split_index = FalseCOMMENT
LOWdoc/source/conf.py161# The paper size ('letter' or 'a4').COMMENT
LOWdoc/source/conf.py181# Additional stuff for the LaTeX preamble.COMMENT
LOWgitdb/doc/source/conf.py1#COMMENT
LOWgitdb/doc/source/conf.py41copyright = '2011, Sebastian Thiel'COMMENT
LOWgitdb/doc/source/conf.py61COMMENT
LOWgitdb/doc/source/conf.py101#html_theme_path = []COMMENT
LOWgitdb/doc/source/conf.py121# so a file named "default.css" will overwrite the builtin "default.css".COMMENT
LOWgitdb/doc/source/conf.py141COMMENT
LOWgitdb/doc/source/conf.py181COMMENT
LOWgitdb/gitdb/stream.py161 # is already complete, but there are still some bytes left in the compressedCOMMENT
LOWgitdb/gitdb/stream.py241 self._buflen = 0COMMENT
LOWgitdb/gitdb/stream.py281 # END handle tailCOMMENT
LOWgitdb/gitdb/stream.py321 # Stop when we have enough or there is no path to more output.COMMENT
LOWgitdb/gitdb/stream.py461 # We will use it as scratch space for all delta ops. If the finalCOMMENT
LOWgitdb/gitdb/test/__init__.py1# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributorsCOMMENT
LOWgitdb/gitdb/test/db/__init__.py1# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributorsCOMMENT
LOWgit/cmd.py301 https://github.com/gitpython-developers/GitPython/pull/1650COMMENT
LOWgit/remote.py461 # The ref_type_name can be branch, whereas we are still seeing a tagCOMMENT
LOWgit/__init__.py221 )COMMENT
LOWgit/__init__.py241 # unambiguously non-public and subject to immediate removal. Here, the publicCOMMENT
LOWgit/objects/submodule/root.py321 # END head is not detachedCOMMENT
LOWgit/objects/submodule/base.py1041 _logger.error(COMMENT
LOWgit/refs/symbolic.py161 if line.startswith("#"):COMMENT
LOWgit/refs/reference.py101 # From refs/files-backend.c in git-source:COMMENT
Excessive Try-Catch Wrapping31 hits · 34 pts
SeverityFileLineSnippetContext
LOWfuzzing/fuzz-targets/fuzz_submodule.py114 except Exception as e:CODE
MEDIUMfuzzing/fuzz-targets/utils.py53 print(f"Error reading file {file_path}: {e}")CODE
LOW⚡fuzzing/fuzz-targets/utils.py72 except Exception as e:CODE
MEDIUM⚡fuzzing/fuzz-targets/utils.py73 print(f"Error loading exception list: {e}")CODE
LOWtest/lib/helper.py118 except Exception:CODE
LOWtest/lib/helper.py237 except Exception as ex:CODE
LOWtest/lib/helper.py260 except Exception as ex:CODE
LOWtest/lib/helper.py318 except Exception:CODE
LOWsmmap/smmap/mman.py360 except Exception:CODE
LOWsmmap/smmap/mman.py570 except Exception:CODE
LOWgitdb/gitdb/util.py75 except Exception:CODE
LOWgitdb/gitdb/test/lib.py72 except Exception:CODE
LOWgitdb/gitdb/db/ref.py73 except Exception:CODE
LOWgit/cmd.py205 except Exception as ex:STRING
LOWgit/config.py965 except Exception:CODE
LOWgit/config.py997 except Exception:CODE
LOWgit/remote.py986 except Exception as e:CODE
LOWgit/util.py594 except Exception as ex:CODE
LOWgit/util.py651 except Exception:CODE
LOWgit/util.py1014 except Exception:CODE
LOWgit/__init__.py297except Exception as _exc:CODE
LOWgit/objects/util.py318 except Exception as e:CODE
LOWgit/objects/submodule/root.py428 except Exception as err:CODE
LOWgit/objects/submodule/base.py1113 except Exception as err:CODE
LOWgit/objects/submodule/base.py1256 except Exception:CODE
LOWgit/objects/submodule/base.py1665 except Exception:CODE
LOWgit/objects/submodule/base.py1695 except Exception:CODE
LOWgit/index/fun.py222 except Exception as ex:CODE
MEDIUMgit/repo/base.py432def __del__(self) -> None:CODE
LOWgit/repo/base.py389 except Exception:STRING
LOWgit/repo/base.py435 except Exception:STRING
Hallucination Indicators2 hits · 25 pts
SeverityFileLineSnippetContext
CRITICAL⚡test/test_refs.py278 res = rw_repo.remotes.origin.refs.HEAD.reference.checkout()CODE
CRITICALtest/test_repo.py748 for item in self.rorepo.head.commit.tree.traverse(CODE
Fake / Example Data11 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡test/test_git.py533 token = "fake-token-1234"CODE
LOW⚡test/test_util.py604 "GIT_AUTHOR_NAME": "John Doe",CODE
LOW⚡test/test_util.py606 "GIT_COMMITTER_NAME": "Jane Doe",CODE
LOW⚡test/test_util.py613 self.assertEqual(committer.name, "Jane Doe")CODE
LOW⚡test/test_util.py615 self.assertEqual(author.name, "John Doe")CODE
LOWtest/test_util.py795 authorization = "Bearer fake-token-1234"CODE
LOW⚡test/test_commit.py441 ("User <user@example.com> 0 +0000\n" + forged, "user@example.com"),CODE
LOW⚡test/test_commit.py444 ("Forged <forged@example.com>", "user@example.com"),CODE
LOW⚡test/test_commit.py446 ("User>", "user@example.com"),CODE
LOWtest/test_commit.py468 commit.replace(author=Actor("User\n" + forged, "user@example.com"))CODE
LOWgit/remote.py1001 unset = "placeholder"CODE
Slop Phrases4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMsmmap/smmap/test/test_tutorial.py31 # before you can use the cursor, you have to specify a window you want toCOMMENT
MEDIUMsmmap/smmap/test/test_tutorial.py64 # you can use it right awayCOMMENT
MEDIUM.github/workflows/codeql.yml47 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT
LOWgit/index/base.py1243 don't forget to :meth:`write` your changes to disk beforehand.CODE
AI Slop Vocabulary8 hits · 10 pts
SeverityFileLineSnippetContext
LOWtest/test_remote.py344 # master yet. We simply create it.COMMENT
LOWtest/test_base.py159 # On POSIX, we can just add Unicode files without problems.COMMENT
MEDIUMsmmap/smmap/mman.py97 """Assign rhs to this instance. This is required in order to get a real copy.STRING
LOWsmmap/smmap/test/test_util.py103 assert isinstance(is_64_bit(), bool) # just call itCODE
LOWgitdb/gitdb/fun.py314 # this is very pythonic - we might have just use index based access here,COMMENT
LOWgitdb/gitdb/stream.py462 # target buffer is smaller than our allocated space, we just use partsCOMMENT
LOWgit/diff.py697 # is invalid. We just use the one mode we should have parsed.COMMENT
MEDIUMgit/index/base.py116 """An Index that can be manipulated using a native implementation in order to saveSTRING
Redundant / Tautological Comments5 hits · 6 pts
SeverityFileLineSnippetContext
LOWtox.ini17 CLICOLOR_FORCE = 1 # Set NO_COLOR to override this.CODE
LOWtox.ini25 CLICOLOR_FORCE = 1 # Set NO_COLOR to override this.CODE
LOWtest/test_docs.py246 new_branch.commit = "HEAD~10" # Set branch to another commit without changing index or working trees.CODE
LOWtest/test_index.py606 # Write the file back.COMMENT
LOWtest/performance/test_streams.py104 # Write file - pump everything in at once to be a fast as possible.COMMENT
AI Structural Patterns7 hits · 5 pts
SeverityFileLineSnippetContext
LOWgit/cmd.py1332CODE
LOWgit/cmd.py1351CODE
LOWgit/objects/commit.py109CODE
LOWgit/objects/submodule/root.py77CODE
LOWgit/objects/submodule/base.py578CODE
LOWgit/objects/submodule/base.py782CODE
LOWgit/index/base.py1223CODE