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

New version of fsfs-reshard.py for repository maintenance

From: <ymartin59_at_free.fr>
Date: Wed, 24 Feb 2010 18:02:25 +0100 (CET)

 Hello,

I have looked for ways to migrate old repositories to latest 1.6.x.
And I let the "dump/import" apart because my window maintenance was too short
and my available disk space too limit to migrate my company's 200 repositories, around 27 Gb.

So in a first step, I have just apply "svnadmin upgrade" on repositories.

Now I'm aware the repositories are still in "linear layer" and sharding will become soon
a requirement, even on a Linux system.

So I have re-worked the fsfs-reshard.py tool to support new 1.6 formats with some additional
features like shard statistics (current and willing) and also unpacking shards.

Usages:
$ fsfs-reshard.py repository
   Report current repository version and layer. If sharding, dump also shard statistics. No changes.

$ fsfs-reshard.py repository target=n
   Report current repository version and layer. Dump shard statistics in case of n-revisions-shards. No changes.

$ fsfs-reshard.py repository n
   Apply new shard size n-revisions. If n=0, change to linear layer.

This new script version does not upgrade the repository version. It only change layer linear/shard.
The "svnadmin upgrade repository" command must be used to upgrade a repository.

If the repository has packed shards, revisions are unpacked before re-sharding.
After re-sharding, you probably want to run the command "svnadmin pack repository".

Of course, apply the script on a copy first. Do not hesitate to run "svnadmin verify repository"
before getting it online again.

Hope this job help any large repository administrator.

As it is my first real work with Python, it is necessary to review the source before committing - even if I have done a lot of tests.
Any volunteer ?

Best regards
Yves Martin

Received on 2010-02-24 18:44:19 CET

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