Initial Level Control Options - VSS vs CVS vs none vs your own hell

It seems that there are a lot of people and many wikis / blogs / ect programmers. elsewhere do not really like VSS. Many people also have a strong dislike of CVS. In many places, I heard many different opinions about whether it is better or worse to use VSS or cvs, and then without using source control, please rate the worst and explain why !!!!! You rated them that way. Feel free to drop your own horrible rating system. If you feel that it depends on the circumstances, try to explain some of the different scenarios that lead to different ratings.

(note: I see a lot of discussion about which is better, but not only the worse.)

Second note: although both answers are good, I'm looking for less for good replacements and more for comparison, which is worse and more importantly why!

+4
source share
6 answers

Lack of source control is not the worst option at all, there is no need to discuss it, and in fact it is not an option.

I used VSS once (10 years ago), and besides the fact that it had very bad third-party tools, I just mentioned that the repository was damaged several times (sigh). This certainly explains why I don’t trust VSS at all and prefer to use alternative open source tools (it couldn’t be worse).

If I can avoid CVS , I do this. This works, is widely supported, but actually lacks important functions (the most important of which is atomic fixation). But it works (it's better than nothing or VSS).

I used Borland Starteam in a big project. Non-technical people can appreciate its client interface, but for developers it did not have too many important things: no nice IDE integration (even in JBuilder, what is the irony), no hooks after commit, no effective Java API (for use with Maven, for example) , damn slow on WAN, etc., as well as some other very annoying glitches (for example, a user interface that does not display directories that are not displayed). Not terrible, but there are better solutions.

ClearCase is a bad experience, perfect for anti-agile development (driving me crazy). And so it was PVCS (nightmare). I don’t even know what to say / where to start: expensive, heavy, bad tools, etc. People who buy these tools cannot use them, it is impossible.

Subversion was supposed to succeed CVS, the wider CVS (by providing missing features) is widely used, supported by many tools and is still highly recommended. Better than any of the previous solutions.

Then we have DVCS, such as Mercurial , Git , which are more powerful, but require more skills to be used, and still lack support / integration tools (using the command line is not suitable for everyone). However, they are recommended depending on the context (not everyone needs more power), and Mercurial will have my preference because I find it more friendly.

This is clearly visible in this picture from the Martin Fowler VersionControlTools page:

alt text

He must have read my mind when he wrote this page :)

+8
source

In my experience -

Git> SVN> CVS> PVCS> none> VSS

Reasoning -

1.) Git is a good distributed model; initially some lack of support in Windows, but now works with any OS; Lots of tool / IDE support.

2.) SVN is pretty standard; at first, there may be a little pain creating the server, but nothing significant; works in almost everything.

3.) CVS - old; type of pain for work; but it still works with almost everything (OS, IDE, tools).

4.) PVC - patented; not integrated into many tools / IDEs; Complicated workflow compared to other modern version control systems.

4.) none - definitely not preferable, but at least you're not fooling yourself. It's still pretty unforgivable on this day and at an age with so many options, and Source Control is such a well-known practice.

5.) VSS - definitely not preferable; basically replaced by TFS; unstable; may quietly fail; worse than nothing, because you are fooling yourself into really keeping your source safe.

+4
source

VSS thing:

  • This is a virtual assurance that if you use VSS for a while, it will eventually ruin its repository and require recovery from a backup.
  • that even the biggest flaw in its use

A script package that zips the archive of the source folder with today's date, because the file name is about 10% more powerful and 5 times more reliable than VSS.

+3
source

No source control is certainly worse. You need to keep a history and a backup of your code, even if you program yourself.

Then I would say VSS. I used it (many years ago), and it works, but basically does not look like a modern version control system. This is better than nothing, but since there are so many free options that work great, I would not recommend VSS if you are not sorry to be in the MS-Only store and have the “We will use it” thinking because it came with MSDN, "which, unfortunately, I see too often.

A tiny step over VSS is the SourceGear Vault. http://www.sourcegear.com/vault/ This is a third-party control source that basically rewrites from scratch with VSS, but works better with remote users. I would not recommend this either, but if all you can get approved is an option.

CVS is better than these. It is free, open source, provides a good history and support for branching / merging, and also allows simultaneous development without blocking.

SVN is still better and the choice of many. It is free, open source, but also has commercial support from a number of sources (i.e. you can buy support if you need it). There are many great tools and provides very good concurrent development without blocking.

The next step is newer version control systems such as Git or Mercurial. As far as I understand, on these systems each user usually gets a full copy of the repo and has his own local set of branches and history. They can work 100% locally, including commits and branches, rollbacks and all, and when they are ready, push the set of changes upstream. This can continue in many different configurations to meet diverse needs.

0
source

Perforce → → CVS> VSS> SVN.

Performance is the best to date. Everything is working fine. I use it mostly integrated in the IDE because the integration was good. I use the interface for more complex tasks.

CVS worked fine, although it was just a command line (I used the old version).

VSS was just ok. It got too slow after the team grew to 10 people. It was an old version.

SVN is what I use and its non-functioning. At least Tortoise SVN. The status is often not updated in the explorer, it often does not track the history of changes, you always need to clear your database, and their tree is confusing. I would rather manage the source code manually than use this tool. But this is not my call, so I stuck with him in my current work, sigh ....

0
source

VSS is good for source code management.

-1
source

Source: https://habr.com/ru/post/1302832/


All Articles