Talk:Comparison of revision control software
From Wikipedia, the free encyclopedia
Contents |
[edit] Requests
I guess many improvements could be apply here:
1) Add others features like in following links: berlios comparison, bitkeeper Vs subversion and Wine Hacking Tips
Also (Thoglette 07:12, 6 November 2006 (UTC))
- support for versioning of directories
- support for distributed development
- branching mechanism
- configuration management
More than happy to add, for that which I understand.
2) Add others RCS like Rational ClearCase and Visual Source Safe (see below, Open Souce )
3) And I'd like to see if any of those can convert character sets on-the-fly (not file names, which CVSNT does, but file contents). None of the presented features are of any interest to me ;) --Lam 09:19, 21 June 2006 (UTC)
- OK, I'll include those on the list of things to do. I have seen the comparisons you mention, and I didn't include all the categories because it's hard to extend the comparison to many different systems, and some are a matter of opinion. (The BerliOS comparison uses words like "excellent" and "poor" for some categories that I don't think would be tenable in neutral comparison.)
- It would be even better if you or someone else could help with the changes. Wmahan. 17:22, 21 June 2006 (UTC)
[edit] Concurrency
I made some changes in the Concurrency Lock vs. Merge column:
- ClearCase uses the merge model by default, but many sites set a trigger to force locking on checkout which allows ClearCase to use a lock model. However, concurrency really doesn't apply to most ClearCase sites because most sites (and all sites that use ClearCase UCM), give each developer their own branch for their work. Concurrency issues only appear when the developer is ready to deliver their work to the main branch, and code is merged into the main branch.
- Perforce and Subversion both allow for attributes to be set to force files to use the concurrency locking model. This is heavily discouraged, but some sites do insist on using concurrency locking. Concerrency locking is really only suppose to be used on files that cannot be merged like icons, JPG files, and MS-Word documents.
[edit] ClearCase
- I know a bit about ClearCase. It seems to be the VCS that is used at many large corporations (HP, for example, uses it globally. IBM probably uses it in places too. Also, I know of several medium to large defense contractors that use ClearCase). I'll list the info that I know — I don't know several of the fields so I figure I'll post the info here rather than leave lots of question marks in the article.
- General Information
- Maintained by IBM. Not sure if it is actively developed or just maintained.
- The repository is client/server.
- Commercially licensed.
- Runs on Linux, Solaris, modern Windows, AIX, HP-UX, IRIX (see http://www-306.ibm.com/software/awdtools/clearcase/sysreq/index.html)
- $4125 USD/floating license/year. There are probably volume discounts.
- Technical Information
- Not sure what language it is written in.
- The history model is snapshot. What does "patch" mean in this context?
- The revision IDs are namespace.
- Unsure what the repo size is bounded by.
- ClearCase dynamic views piggyback on top of SMB (for Windows) or NFS (for Unix/Linux). The ClearCase Web Client and ClearCase Remote Client use HTTP, but don't support dynamic views.
- Features
- No on atomic commits.
- File/directory renames supported.
- Unsure on symbolic links. There are special ClearCase symlinks available, but I'm not sure if symlinks on a *nix system can be versioned.
- Tons of hooks (triggers in ClearCase lingo) can be set up -- but only in Perl.
- I'm not sure if it supports signed revisions.
- Two modes: snapshot and dynamic. Snapshot makes a copy of the files on your local machine. Dynamic mounts a proprietary file-system that points at the repository and creates "virtual" files on the file-system. Accessing a file on a dynamic view (either editing or compiling) will cause the file to be copied across the network to the local machine.
- Views: Clearcase uses views to provide an indirection between the repository and the files available to the user. A user creates a view-specification which details which files, directories, and versions are available to the user.
- User Interfaces
- not sure about web interface
- GUIs are available for Windows and Unix for sure; not so sure about the other supported operating systems.
- Stand-alone GUI for Windows and Unix as well as shell extensions to the standard Windows explorer.
- Network protocol
- proprietary, transactions are accomplished using many small packets which makes the system unresponsive if run over a WAN.
- Multi-site
- Each site has a copy of the repository. By default, elements are owned by one site only. Sharing is accomplished by branching each element for each site. Periodic repository synchronizations is required to give all users the same view. Changes made at one site will not be visible to the other site until a sync takes place.
- Ownership (mastership) of elements can be passed between sites.
ClearCase also does a decent job tracking merges (something which CVS doesn't support, and svn doesn't support yet). Perhaps add a column for merge tracking to the "features" table? It might also be nice to have information on branching and tagging (but I think all VCS listed have these capabilities?).
Slartoff 02:10, 26 July 2006 (UTC)
Additions made by Cave Mike 04:21 30 Aug 2006 (UTC)
Edits made by W. Craig Trader 19:50 23 Feb 2007 (UTC)
[edit] Atomic Commits in ClearCase ?
ClearCase definitely cannot do this (allow changes to a group of files to be applied in one transaction). There is an extension called "ClearCase UCM" (with additional license cost) which supposedly provides this functionality, though the details are not clear.
Mister Farkas 23:39, 20 February 2007 (UTC)
[edit] Telelogic SYNERGY
Was Continuus/CM. It should be added to this article. It's a player in this market, even though many people dislike it. This product introduced task development, if I understand correctly. Unfortunately, I don't know enough about SYNERGY to edit the article. Cernansky 00:15, 11 November 2006 (UTC)
[edit] VSS
Yes, it is not the industry leader. But to ignore it is just silly Thoglette 07:13, 6 November 2006 (UTC)
[edit] Open source
Is this open-source only listing? If so, its title should be changed. If not, I'm going to add our product, Code Co-op to the list. -- Bartosz 19:49, 31 May 2006 (UTC)
- It's not intended to be open-source only, although I'd prefer to only have notable projects so that the article doesn't get cluttered. You are welcome to add your product, but I might add more columns later, so help keeping the entry up to date would be appreciated.
- If your product has any outstanding features that you think distinguish it from other systems, feel free to add columns for those. Of course, all the information should be presented in a neutral and verifiable way. Wmahan. 20:30, 31 May 2006 (UTC)
[edit] Explanation of terms
What is namespace revision IDs? -- Bartosz 19:54, 31 May 2006 (UTC)
- I borrowed the terminology from [1]. Basically I was trying to indicate how a user refers to particular revision. By namespace I mean that the system uses a filename and maybe a simple version number. Other systems use hex values representing hashes of a file's contents. I realize that the concept is a little unclear as currently presented, and I'm open to suggestions. Wmahan. 20:28, 31 May 2006 (UTC
)
The table has subversion listed as using snapshots for the history model. That's a common misconception; while svn presents the history to the user as a list of snapshots, the change is actually stored internally as a changeset. If a repository uses the fsfs backend, you can see the individual changesets in db/revs/nnn.
- OK. I'm not sure whether that column represents a useful distinction. I was trying to show that systems can use very different ways of storing revisions internally. But to be honest, I'm not sure I understand each system well enough to come up with an accurate comparison in this area. Maybe I should just remove that column. Wmahan. 05:27, 19 June 2006 (UTC)
[edit] email notification
There is no column specifying which products send email on various actions. I believe this is a good evaluation decider, and should be included.
To start off, I know that :
CVSNT : Yes
SourceSafe : No —The preceding unsigned comment was added by IanVaughan (talk • contribs).
[edit] History models
I find the words used to describe the "history models" to be rather un-informative. The present revision of the article, for example, makes it appear as though VSS and StarTeam use the same model, which is simply not true. StarTeam stores full copies of each revision, whereas VSS uses reverse deltas. The term "changeset" implies forward deltas, but this seems impractical and is far from clear. Similarly, the terms "patch" and "changes" seem to be used more or less interchangeably in this section. How many different methods are there for storing revisions? --Craig Stuntz 15:32, 13 December 2006 (UTC)
- I agree. It would be far clearer to separate the history interface from the history implementation. While the revision control system might present snapshots or changesets, these are implemented as snapshots, forward delta, reverse delta (such as VSS), bidirectional delta (such as darcs), or hierarchical forward delta (such as Subversion). If we don't card about the details though, perhaps the column should just be renamed so that it clearly only refers to the interface. -- JRBruce 2007-03-30 20:18
[edit] BitKeeper
Why is BitKeeper not represented in this comparison? Billdav 02:07, 19 January 2007 (UTC)
- Because nobody has added it yet, of course. You are welcome to do so if you are familiar with it. -- intgr 11:22, 22 January 2007 (UTC)