[Haifux] SVN quota

Nadav Har'El nyh at math.technion.ac.il
Thu Jan 21 11:43:52 MSK 2010

On Tue, Jan 19, 2010, Shahar Dag wrote about "Re: [Haifux] SVN  quota":
> It is true that users can't delete data from the SVN.
> The only thing users can do is ask for additional quota. If they know that they are running out of quota in advanced, they can ask to enlarge the quota before they are out of disk space (which usually happens 01:00 ).
> Then I can check if the disk space usage is justify and respond on time.

Shachar Shemesh made a very good point. There's very little point in a
quota system if the person who is reaching the end of his quota can't
do anything about it to clean up his act. If the only thing he can do is to
ask you to increase his quota (and you never refuse), why have a quota in the
first place - to make people feel bad about taking up space? To add

I have several years experience with using and administering SVN repositories,
and my experience is that problems with repository sizes always stem from one
issue: that somebody, usually mistakenly or due to lack of understanding of
what SVN is supposed to do, did one huge commit. E.g., somebody added some
huge test data or outputs to the repository, which they shouldn't have
done in the first place. Once the user added a huge commit, Subversion doesn't
give you any (convenient) facility to remove this commit, or the huge files
in it, from the history. You can get mails that you are close to your quota
until hell freezes over - and there's nothing you can do about it but say
"I'm sorry"...

If you must have SVN quotas, one thing I'd try first is to try to enforce
first some sort of limit the size of a single commit. For example, if you
give people a 100 MB quota for the repository, limit a single commit size
to 30 MB; If somebody fills up more than 30% of his quota in a single
commit - something is probably wrong. If you let him do it, he'll probably
be sorry later because he'll not have enough space to continue using his
repository. Of course, you can play with this 30% number. Perhaps enforce
this single-commit-quota just after 50% of the total quota is finished -
or come with whatever policy makes sense for you. Also, you'll need to
figure out how to enforce this policy :-) (some sort of commmit hook might
work, but I really didn't try to implement this idea).


Nadav Har'El                        |     Thursday, Jan 21 2010, 6 Shevat 5770
nyh at math.technion.ac.il             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |Why aren't fishmongers generous? Their
http://nadav.harel.org.il           |business makes them selfish.

More information about the Haifux mailing list