I am in my early stages of understanding an SVN repository, and I had a few questions:
- What kind of files should I put in a repository? For example, I know PHP, JS, FLA, etc... are accepted as standard, but what about things liks PSDs (which may be changed in the future), AIs (Adobe Illustrator files), etc...? Should I save those in the repository, or just the exported version?
- Are there files that are considered "too big" to put in a repository? For example, I have a PSD which is 11 mB.
- What is the maxmium recommended file size? If it matters, I am running this repository within my environment, so storage isn't a problem. :)
Thank you for your time.
I'll respond to your questions in order.
- Any file that you change frequently and would like to have backed up is a good candidate for going in an SVN repository. If you'll ever want to be able to "go back to last Tuesday's version" or something along those lines, you should probably put the file in SVN. To contrast, music and movies are poor candidates for SVN control, since you're not very likely to change them (unless you're a producer or film editor, of course).
- SVN is a differential backup system, meaning it sends only the differences between the new and old files you create. For example, if you add a line to a 3,000-line text file and commit it, only that last line will be sent over the network. So, there is no real limit on file size (apart from those imposed by your bandwidth and host, of course). I've personally tracked a 100 MB file before. Also, keep in mind that the whole differential tracking is great for text files, but not so great on binary files (DOC, PDF, FLA, PSD, etc.) In these cases, you can still use SVN, but you will probably send close to the whole file size every time.
- As I said before, I wouldn't worry about changing the size of your files for SVN's sake; it's pretty versatile.