We use SVN for our source-code revision control and are experimenting using it for non-source-code files.
We are working with a large set (300-500k) of short (1-4kB) text files that will be updated on a regular basis and need to version control it. We tried using SVN in flat-file mode and it is struggling to handle the first commit (500k files checked in) taking about 36 hours.
On a daily basis, we need the system to be able to handle 10k modified files per commit transaction in a short time (<5 min).
My questions:
- Is SVN the right solution for my purpose. The initial speed seems too slow for practical use.
- If Yes, is there a particular svn server implementation that is fast? (We are currently using the gnu/linux default svn server and command line client.)
- If No, what are the best f/oss/commercial alternatives
Thanks
Edit 1: I need version control because multiple people will be concurrently modifying the same files and will be doing manual diff/merge/resolve-conflicts in the exact same way as programmers edit source code. Thus I need a central repository to which people can check in their work and check out others work. The work-flow is virtually identical to a programming workflow except that the users are not programmers and the file content is not source-code.
Update 1: Turns out that the primary issue was more of a filesystem issue than an SVN issue. For SVN, committing a single directory with half-million new files did not finish even after 24 hours. Splitting the same across 500 folders arranged in a 1x5x10x10 tree with 1000 files per folder resulted in a commit time of 70 minutes. Commit speed drops exponentially over time for single folder with large number of files. Git seems a lot faster. Will update with times.