Pre-Commit findet lokale Hooks auch nach dem Löschen des Hooks-Verzeichnisses und dem Leeren des CachesPython

Python-Programme
Guest
 Pre-Commit findet lokale Hooks auch nach dem Löschen des Hooks-Verzeichnisses und dem Leeren des Caches

Post by Guest »

Ich verwende Pre-Commit, um lokale Hooks für mein Repository zu verwalten. Zunächst habe ich ein lokales Repository mit meinen Hooks hinzugefügt und die Datei .pre-commit-config.yaml so konfiguriert, dass sie auf diese Hooks verweist. Es hat sowohl in meiner lokalen Umgebung als auch in der CI-Pipeline perfekt funktioniert.
Codeausschnitt aus .pre-commit-config.yaml. Ich habe pre_commit_hooks als lokales Modul installiert, konfiguriert

Code: Select all

  - repo: local
hooks:
- id: trailing-whitespace
name: Trim trailing-whitespace
language: python
entry: python3 -m pre_commit_hooks.trailing_whitespace_fixer
additional_dependencies: [pre_commit_hooks]
Allerdings ist mir ein seltsames Verhalten aufgefallen:
  • Wenn ich das Verzeichnis lösche, das die Hooks enthält (die Repository mit den Hooks-Dateien), Pre-Commit führt die Hooks immer noch erfolgreich aus.
  • Ich habe versucht, den Cache mit Pre-Commit Clean zu leeren und sogar den Cache-Ordner manuell gelöscht (z. B. ~/.cache/pre-commit/), aber die Hooks laufen immer noch ohne Probleme.
Ich kann nicht herausfinden, wie Pre-Commit die Hooks finden und ausführen kann, nachdem das Quellverzeichnis gelöscht wurde.
Meine Fragen:
  • Wie ist Pre-Commit in der Lage, die Hooks nach der Quelle zu finden und auszuführen? Verzeichnis gelöscht?
  • Wie kann ich sicherstellen, dass Pre-Commit die Hooks nicht mehr ausführt, wenn das Quellverzeichnis gelöscht wird?
Ich habe versucht:
  • Pre-Commit-Cache geleert:
    • Pre-Commit-Clean ausgeführt und das Cache-Verzeichnis manuell entfernt (z. B. ~/.cache/pre-commit).
    • Überprüft, ob das Cache-Verzeichnis vorhanden war leer.
  • Git-Hooks entfernt:
    • .git/hooks/ auf verbleibende Skripte überprüft und gelöscht das Pre-Commit-Skript.
  • Verifizierte Konfiguration:
    • Die Datei .pre-commit-config.yaml wurde vorübergehend entfernt und wie erwartet konnte Pre-Commit nicht ausgeführt werden.
    • Inspizierte Pre-Commits Verhalten:

      Pre-Commit run --verbose ausgeführt, um die Ausführung zu verfolgen, aber keine nützlichen Informationen darüber gefunden, woher die Hooks stammen .

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post