Centralised version control systems
Centralised Version Control System (CVCS)
CVS and SVN is a centralised version control system(CVCS). It mean that only one master repository where people can share the code. Another way to explain is if everyone need to check their own code or branch from that repository, and checks what have been changes by others people or itself. Than the code will need to sent out 1 by 1 and person by person.Sometimes , it possible to create a patch that diff from your own code and it was against the given Master repository version.There are 2 main problems with the cvcs, even it was no so obvious:
- You need to perform an action like diff or patch.
- Any patch for the particular branch can be outdated quickly
However , SVN keeps the last-known checkout, so it can do a limited set of operation while disconnected from SVN, like diff from the last-know checkout but it you are not allow to doing many operation that are possible while connected.
The first problem is rarely apparent for those working with Eclipse in a location at (or near) the repository itself. Those in the same continent will rarely experience delays due to global network variation; in addition, they tend to be employed in an organisation and sit at a desktop connected to wired networking for most of the day. Road warriors (those with laptops and who code from the local coffee shop) tend to operate in a more frequently disconnected mode, which limits repository functionality to when they are connected.
The second problem is simply an artifact of the way in which patches work. These are generally performed against HEAD (a snapshot in time) and then applied later (sometimes months or even
eight years later). Although they record the version of the file they were patched against, the patch itself is sensitive to big changes in the file, sometimes leading to the patch being inapplicable. Even relatively simple operations, like a file rename, can throw a well-formed CVCS patch out of the window.
Comments
Post a Comment