4

I have a huge SVN repository where several developers make ~100 commits per day. The repository has a size of almost 4GB and each update requires me to wait for 30-60seconds.

However, I do not do development in this repository and only need access to some files scattered across the directories of the SVN.

Therefore: is there a tool available that

  • only fetches the list of files in the SVN without pulling all their contents
  • allows me to navigate the list of files and only donwloads those files i need
  • indicates the last revision of the files

  • Optional, but would be awesome to have: A full text search engine that creates an index of all files, removes the files afterwards from my db and downloads changed files in the background to update my index, and again removes them afterwards. (Also capability to blacklist files I do not need)

Chris
  • 251
  • git-svn might be an option. It gives you some independence from svn, and lets you select subtrees. On the downside, it has a steep learning curve, doesn't always mesh well with svn (e.g. properties), and the workflow when you want to commit back is a bit awkward. Or maybe bzr-svn or hgsvn. – Gilles 'SO- stop being evil' Jun 05 '12 at 22:24
  • As a side note a 4GB repository shouldn't be slow, I have many repos over this size and none of them are slow. You should check limitations in I/O, on the client as well as on the server. – Shadok Jul 05 '12 at 11:01

1 Answers1

0

You can use SVN repository external feature. I haven't used it myself but I think it is a good starting point to look.

In the external model you need to create a new SVN meta repository that keeps all your searched repository directories marked as externals. In this strategy you just need to update one meta repository and it should (as I correctly understand external feature) update the dependent repositories as well.

Take a look: http://svnbook.red-bean.com/en/1.0/ch07s03.html

The cons for using this feature is: if you need to define whole repository directory as external, so if you have a lot of file in one directory all of them would need to be updated.