Subversion Administration Commands (svnadmin)

Currently at work (Shine Technologies) I am in the process of moving all of our projects to JIRA Studio.

The task is to move away from our local SVN server and locally hosted JIRA + Confluence to JIRA Studio (hosted by Atlassian on their super servers).

I needed to use svnadmin commands (svnadmin dump and svnadmin filter) to dump out svn repositories. svnadmin dump is done to preserve the history logs, otherwise I could just commit the project into new repository.

Here is my go at it, the list of commands for reference and for others who encounter this problem.

For svnadmin dump command

Valid options:
-r [–revision] ARG     : specify revision number ARG (or X:Y range)
–incremental            : dump incrementally
–deltas                    : use deltas in dump output
-q [–quiet]                : no progress (only errors) to stderr

Examples

Dump whole repository
$ svnadmin dump –q /home/svn/myrepository > myrepository.dump

Dump specific revision
$ svnadmin dump -q -r 4012 /home/svn/myrepository

Dump within revision range
$ svnadmin dump –q –r 506:978  /home/svn/myrepository > myrepository.dump

If –incremental is passed, then the first revision dumped will be a diff against the previous revision, instead of the usual fulltext.
$ svnadmin dump -q -r 4012 –incremental /home/svn/myrepository

In our case we did not plan to export all our projects, and hence I had to fill out the projects I needed from the dump.

I could not find a way to dump out specific projects. The only way out to that problem is to dump whole repository and then filter.

Filter :
$ cat myrepository.dump | svndumpfilter include myproject > myproject.dump

To load the dump into other SVN
$ svnadmin load –quiet /home/svn/newrepository < myproject.dump

If you are looking for further reference on Subversion commands, there is a free book available here.

And before I finish, here is a picture of Melbourne City from my desk on Level 34.

Shine Technology Head Office, Bourke Street

Cheers.