Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi,
I've been asked to select a version control system for a company. The company's uses are mainly for binary files. I've read that subversion can do this and even stores the diffs between binary files, but how practical is this approach if the files are 100s of megabytes or even a few gigabytes big? Wouldn't the diffing between big binary files need a powerful server machine or is this overhead less than I'm imagining? Furthermore, are the cross-platform clients for accessing Subversion mature? Finally, they are currently using Microsoft SourceSafe and face a limit of 3-5 GB of checked out items / material at a time. What is the maximum that you can check out from Subversion or CVS? Also, which would you recommend and why? I'm open to any suggestions but am looking for the following:
1) allow binary diffs (or just upload the entire binary files and keep track of them)
2) mature cross platform client
3) ability to checkout more than 3-5 GB at any given time.
Thank you for your help...
Re: Subversion / CVS or something else - Which One?
Quote:
Originally posted by LinuxGeek
I've read that subversion can do this and even stores the diffs between binary files, but how practical is this approach if the files are 100s of megabytes or even a few gigabytes big? Wouldn't the diffing between big binary files need a powerful server machine or is this overhead less than I'm imagining?
Multiple gigabytes? That's a lot of data to process. I think you're probably going to need a a pretty beefy server to do that with any revision control system. I've never tried to use it with files that size, but I don't really think Subversion is optimized for that sort of thing. After all, it was built to be a replacement for CVS, which is primarily concerned with versioning source code. So yes, I expect you'd need a lot of power to get reasonable performance.
Quote:
Furthermore, are the cross-platform clients for accessing Subversion mature?
Well, the command-line client is certainly mature. As for GUI clients, I guess it depends on your definition of 'mature.' The only one that's impressed me so far is TortoiseSVN, and that's Windows-only. The few others I've looked at have seemed OK, but not great. Then again, I haven't looked very hard.
Quote:
Finally, they are currently using Microsoft SourceSafe and face a limit of 3-5 GB of checked out items / material at a time. What is the maximum that you can check out from Subversion or CVS?
Subversion and CVS don't use a file locking checkout design like Visual Source Safe. You can have as much stuff checked out at one time as you want to. Then, when you go to check your changes back in, Subversion checks for conflicts with checkins by other users.
Would it be possible to form a LVS to use CVS or Subversion on? Might that help with the overall data processing need? Because nodes of LVS don't have to be linux, so you could actually possibly have some idle clients acting as nodes. Just a idea. I don't really know very much yet, I am still learning. I am just trying to put things together in my head. I am going to be using a Verson Control system soon. So I am trying to map it out.
AdaHacker,
Thanks for your reply. I was also wondering about binary diffs on Subversion if I'm dealing with binary files. Is it possible to only enable them on smaller files (ex. anything below 10 MB in size) and to just copy the new binary files as is if they are bigger than this so that I can lessen the load on the server? Thanks for your time..
Originally posted by LinuxGeek Is it possible to only enable them on smaller files (ex. anything below 10 MB in size) and to just copy the new binary files as is if they are bigger than this so that I can lessen the load on the server?
I've never had a reason to look into it, so I have no idea. However, I've never seen anything that would suggest that's possible. After all, that sounds more like a backup script than a revision control system.
Maybe it would help if you elaborated on the situation a bit. For instance, the 10MB limit you suggested sounds a bit low. Of course, it depends on how many users you have, how often they commit their changes, how large the files are on average, etc. I mean, if you have a few dozen users checking in changes once or twice a day and only a few of the files are over 10MB, then I expect subversion will be perfectly fine. On the other hand, if you have thousands of users hitting the same server several times a day and the majority of the files are over 100MB, that's an entirely different story. However, given that you said they've been using Visual SourceSafe, I suspect that the situation is much closer to the first case (unless there's been a massive change in requirements). My experience with VSS is limited, but from what I've read, it's not seen as a good system for large projects. So if VSS was working well enough for them to stick with it this long, Subversion will probably be fine. It will almost certainly be an improvement over VSS, at any rate.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.