Serverseitiger benutzerdefinierter Git-Merge-Treiber auf GitHub/Azure Repos

Lesezeit: 1 Minute

Benutzer-Avatar
Sachin Josef

Ich habe einen benutzerdefinierten Zusammenführungstreiber für Git, der beim Zusammenführen hilft Sperrdateien in einem großen Monorepo, das von Hunderten von Ingenieuren geteilt wird. Da Sperrdateien ziemlich häufig wechseln, ist es nicht ungewöhnlich, dass diese Dateien zu Zusammenführungskonflikten führen, während ein PR überprüft wird (weil Meister fortschreitet). Das bedeutet, dass der PR-Zweig manuell aktualisiert werden sollte, nachdem Konflikte in diesen Sperrdateien lokal mit diesem Merge-Treiber gelöst wurden.

Frage: Gibt es eine Möglichkeit, diesen Merge-Treiber auf GitHub (bzw Azure Repos) auf der Serverseite, sodass dieser Treiber zum Zusammenführen von PR-Zweigen verwendet wird (im Gegensatz zum standardmäßigen automatischen Zusammenführen)?

GitHub bietet keine Möglichkeit, benutzerdefinierte Zusammenführungstreiber zu verwenden, und mir ist keine Plattform bekannt, die dies tut. Ein Grund dafür ist unter anderem, dass benutzerdefinierte Merge-Treiber beliebigen Code ausführen können und die meisten Hosting-Plattformen nicht daran interessiert sind, beliebigen Code im Namen von Benutzern auszuführen.

Darüber hinaus werden Zusammenführungen auf GitHub mit libgit2 durchgeführt, das darauf ausgelegt ist, beim Berechnen der Zusammenführung schnell und effizient zu sein und vorzeitig abzubrechen, wenn die Zusammenführung nicht möglich ist, und benutzerdefinierte Git-Zusammenführungstreiber würden diese Funktionen nicht bereitstellen.

Sie könnten eine Möglichkeit finden, Pull-Requests, die zu Ihrer Zufriedenheit genehmigt wurden, automatisch zusammenzuführen, indem Sie einen benutzerdefinierten GitHub-Aktionsvorgang verwenden, der Ihren benutzerdefinierten Zusammenführungstreiber verwendet und ihn dann an das Repository überträgt. GitHub zeigt den Branch in diesem Fall als zusammengeführt an und schließt die Pull-Anfrage entsprechend. Das ist jedoch das Naheliegendste, was Sie wahrscheinlich erreichen können.

1059800cookie-checkServerseitiger benutzerdefinierter Git-Merge-Treiber auf GitHub/Azure Repos

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy