Ich habe 3 WinXP-Computer, die auf Subversion auf einem Linux-Server zugreifen. Ich möchte den in den Protokollen angezeigten Autorennamen auf einigen der Computer ändern, da es sich um "Entwicklungs-PC 3" und den Namen eines ehemaligen Mitarbeiters handelt. Wie kann ich das tun?
Antworten
Zu viele Anzeigen?Wahrscheinlich haben Sie versucht, den Namen des Autors zu ändern, wie sharptooth vorgeschlagen hat, aber dann haben Sie wahrscheinlich eine Fehlermeldung erhalten, die besagt, dass dies nicht möglich ist. Dies erfordert die implizite Verwendung des pre-revprop-change
Haken. Standardmäßig gibt dieser Hook immer einen Fehler zurück, es sei denn, Sie überschreiben die Vorlage und erstellen ein tatsächliches Skript, das in der Lage ist, einen Nullwert zurückzugeben. Von svn-book :
Der pre-revprop-change-Hook wird unmittelbar vor der Änderung einer Revision ausgeführt Eigenschaft ausgeführt, wenn diese außerhalb des Rahmens einer normalen Übergabe erfolgt. Im Gegensatz zu den anderen Hooks, ist der Standardzustand dieses Hooks, die vorgeschlagene Aktion zu verweigern. Der Hook muss tatsächlich existieren existieren und einen Exit-Wert von Null zurückgeben, bevor eine Änderung der Revisionseigenschaft erfolgen kann.
Hier ist eine Kopie meiner pre-revprop-change
Haken, der es mir ermöglicht, die Protokollmeldung zu bearbeiten, aber nicht den Autor:
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
# if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
echo "Changing revision properties other than svn:log and svn:author is prohibited" >&2
exit 1
Um den Autor einer bestimmten Revision ändern zu können, müssen Sie die zweite if
Erklärung.