2010-11-19 3 views
2

Ich möchte git automatisch lokale Änderungen an die Upstream-Subversion Repo Push, wenn eine Festschreibung vorgenommen wird. Der SVN-Repo authentifiziert sich unter Verwendung von Kerberos, so dass es nicht notwendig ist, ein Passwort oder irgendetwas in den Commit-Hook fest zu codieren.git-svn dcommit von post-commit mit Kerberos

Der offensichtliche Weg, dies zu tun ist, "git svn dcommit" in die Post-Commit Hoook, aber leider scheint git stripping Umgebungsvariablen (wie KRB5CCNAME, die Kerberos benötigt) vor dem Aufruf der Haken.

Die Frage ist also: Wie ändere ich die Umgebungsvariablen, die an den Commit Hook übergeben werden?

+0

Hmm, würde dies nicht einen der Vorteile der Verwendung von Git negieren? Nämlich, lokal auf einer Art Zweig zu entwickeln, isoliert von Änderungen, die von anderen Entwicklern gemacht wurden, und ein ganzes Feature gleichzeitig auf svn zu übertragen? – cdhowie

+0

Ja, wenn wir git als Dev-Tool verwenden würden. Wir sind nicht, Schuster verwendet git intern, um einen Revisionsverlauf seiner Laufzeitkonfiguration zu speichern. Daher möchte ich, dass dieser Upstream sofort weitergeleitet wird, wenn ein Systemadministrator das CLI-Tool ausführt, um eine Änderung vorzunehmen. –

+0

Ich muss zugeben, ich weiß nichts über Kerberos, aber müssen Sie sich auf Umgebungsvariablen verlassen? Können Sie nicht einfach ein Hook-Skript verwenden, das auf Variablen zugreift, die in einer Textdatei gespeichert sind? – gilligan

Antwort

1

Die Antwort war die Umgebungsvariable, die von sudo auf der Box entfernt wurde --- Ich habe es der Liste der Umgebungsvariablen hinzugefügt, die in/etc/sudoers erhalten bleiben sollen.

Es stellte sich heraus, dass es ein Fehler in früheren RHEL5-Installationen war, der seither behoben wurde.