3 ms·
Could you please elaborate? I've only used svn and git, and the largest codebases I've worked on have only been about 150k lines of code. What are the other on
by malux85 9y ago
Could you please elaborate? I've only used svn and git, and the largest codebases I've worked on have only been about 150k lines of code.
What are the other ones and the main differences, really curious
- dfox 9y agoFor example in svn checking out only some subdirectory instead of entire repo is pretty much the default way how you should use it.
- deleted 9y ago[deleted]
- vvanders 9y agoPerforce is really common in a few domains because it handles 1TB+ repo sizes cleanly, has simple replication, locking of binary files and a good UI client for non-programmers. Was pretty much used exclusively back when I was in gamedev, not sure if that's still the case.
- nerfhammer 9y agogit is designed from the ground up to be 100% distributed. This is useful for small and/or open source projects. It's 100% portable. You can fork and merge between different repos maintained by complete strangers. Now, imagine you're a huge corporation. Your code consists of millions of files that have been edited millions of times. It's never going to be released to the public. It's never going to be forked, much less by a stranger. You're going to have only one main branch and main build ever, except for maintenance branches. The complete history of everything that has ever happened on that repo is would take up many gigabytes, and developers are probably only ever going to need to look at and/or build locally 0.01% of that code themselves. If you were going to design a version control system from scratch for the latter scenario and you had never heard of git or any other existing VCS, how would you design it? Would you come up with something like git? Probably not. People would just have local copies of the minimum of what they needed to get their work done, anything else would call some server on the VPN they were always on. And you would probably come up with some whole specialized server architecture with databases and such that wasn't that similar to a corresponding client architecture that it would also need.