How to efficiently generating the diffstat?
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- git, python
- Bereich
- developer-experience, tooling
Rechercherichtung
Beginne mit der Python-Schleife über self.__raw_commit.parents sowie den Einstiegspunkten tree.diff_to_tree und diff.stats und vergleiche anschließend ihr Ziel mit git log --stat. Ermittle, ob pygit2 oder libgit2 eine effizientere Möglichkeit bietet, Einfügungen, Löschungen und geänderte Dateien abzurufen; abgeschlossen ist die Aufgabe, wenn der Ansatz identifiziert ist und äquivalente diffstat-Werte erzeugt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi,
I need some help to efficiently generating the diffstat. I would like to get the number of lines added and deleted from one commit to another, like the following command does:
git log --stat
I wrote the following code, but it is pretty slow.
for raw_parent in self.__raw_commit.parents:
diff = self.__raw_commit.tree.diff_to_tree(raw_parent.tree)
self._stats.insertions += diff.stats.insertions
self._stats.deletions += diff.stats.deletions
self._stats.files_changed += diff.stats.files_changed
Do you know a better way to capture this information?
Best regards,
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 408
- Ø Merge
- 2 T. 57 Min.
- Gemergte PRs (30 T.)
- 7
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus libgit2/pygit2
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
-
merge_bases not wrapped Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
OpenHands/extensions#626 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
CSCfi/sd-search-api#39 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
please add to porn list Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
StevenBlack/hosts#3255 ·