[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Changing text in an svn repository

From: Jason Lustig <lustig_at_brandeis.edu>
Date: 2007-05-17 20:58:49 CEST

I have an SVN repository with sensitive info (a personal password)
that I want to get rid of. It's been in the repository since the
beginning, and now that I have to import the repository, which began
originally on my PC, into our company-wide repository, we need to
remove it. I've tried doing a few things, without luck, and would
like your input and thoughts.

I did some searching on the internet and discovered that you can move
entire paths around in a repository by using sed on an SVN dump (see
http://alephzarro.com/blog/2007/01/13/subversion-move-migrate-
split/), and so I figured that I could use a similar process to
change text within a file, like this:

svnadmin dump ~/svn > svn.dump
sed 's/OLDPASS/NEWPASS/' svn.dump > svn.dump.fixed
svnadmin create ~/svn.fixed
svnadmin load ~/svn.fixed < svn.dump.fixed

This would work until I get to a particular revision, where I get
this message:

<<< Started new transaction, based on original revision 151
      * editing path : /AFILE ... done.
svnadmin: Checksum mismatch, file '/THEFILE':
    expected: aca0db894d07c2566012f80f2d5545e9
      actual: 92489b492b93b872e052a61a1d39df0f

So I started looking around on the internet, and found out a little
bit about the md5 checksums. So I figured that, since the checksum is
calculated based on the contents of the file, I could just replace
the old checksum with a new one, like this:

svnadmin dump ~/svn > svn.dump
sed 's/OLDPASS/NEWPASS/' svn.dump > svn.dump.fixed
sed 's/
aca0db894d07c2566012f80f2d5545e9/92489b492b93b872e052a61a1d39df0f/'
svn.dump.fixed > svn.dump.fixed.2
svnadmin create ~/svn.fixed
svnadmin load ~/svn.fixed < svn.dump.fixed.2

However, I now get a similar error, except that the checksums have
switched:

<<< Started new transaction, based on original revision 151
      * editing path : /AFILE ... done.
svnadmin: Checksum mismatch, file '/THEFILE':
    expected: 92489b492b93b872e052a61a1d39df0f
      actual: aca0db894d07c2566012f80f2d5545e9

Any thoughts? Is there an easier way to do this?

Thanks
Jason

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu May 17 20:59:14 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.