Can I go back and edit comments on an SVN checkin?

leora picture leora · Mar 28, 2009 · Viewed 44.7k times · Source

I put a mistake into a comment in SVN. Can I edit this after checkin?

Answer

Paul Dixon picture Paul Dixon · Mar 28, 2009

Commit messages are "unversioned properties" and can be changed with the svn propset command, for example

$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
property 'svn:log' set on repository revision '25'

This is setting the revision property called "svn:log" on revision 25

Configuring subversion to allow revision property changes

Because these are unversioned, a default installation of subversion won't let you modify these properties unless you provide a pre-revprop-change hook script.

Here's a typical script, from /var/lib/svn/hooks/pre-revprop-change on my system:

#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then 
  echo "$1 $2 $3 $4 $5" >> /var/lib/svn/logchanges.log
  exit 0; 
fi

echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1

This logs changes to svn:log revision properties, and allows the edit by using exit 0, any other revision property change is denied by using exit 1. See patmortech's answer for a Windows equivalent.