Svn – How to delete previous revisions with svn

svnsvnserve

I want to clear all all previous revisions and leave only the current revision.

Is there a way to do this?

I don't find a possible command to do this:

[secret@vps303 ~]# svnadmin --help
general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
Type 'svnadmin help <subcommand>' for help on a specific subcommand.
Type 'svnadmin --version' to see the program version and FS modules.

Available subcommands:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify

UPDATE

Seems the only solution is to export then import, but will the access permission settings be also exported when we run svn export ?

Best Answer

The answer is indeed to

svnadmin dump -r<revisionnumber> /old/repo/path > repo.dmp
svnadmin create /new/repo/path
svnadmin load  /new/repo/path <  repo.dmp

Do not use svn export, you might loss some handy svn:externals, svn:ignore's, svn:executable and the like. Older revisions & logging OK, but those you normally want to keep :)

Possible auth/access/hook/other configuration you can usually copy by copying the ./conf & ./hooks directories from the old repository to the new one. As long as there are no hardcoded paths in it those should work instantly. After copying those dirs do compare the file premissions of your old & new repo.

Use the svnadmin bin on the svn-server, you cannot do this with an svn client.

Related Topic