en
1.6
Distributed Revision Control System (DRCS)
0.1
Operations availaible around the local commit (diff, cherry picking, local branches, ...)
Ability to retrieve a commit as an atomic entity and to applied it easily on other branch/clone
none
partial
complete
Ability to rollback local commit
none
only a limited set of recent version
rollback up to the first commit
None or buggy/too slow
Works fine but slowly or simply support only a few set of protocol (ex: only ssh, or very slow on http)
Fast and reliable cloning, with a large set of retrieval protocol.
Ability to edit/remove/move or erase tags locally
none
partial or cumbersome
crud available, easily and reliably
move, rename, edit tags
how the tool detects and handle un commited data
no status operation availaible, user must manually add/remove files
show status accuretly but the tools does not ease the adding/remove part.
status is displayed perfectly with handy feature such as "add all new", "removing missing files" and colored ouput.
Does the tool allow to easily move/rename file
Not possible, loss of history (pretty much like CVS)
Possible, history is preserved, but lead to a lot of trouble with merge.
Full support, even with merge
Does the tools allow to sign revision ?
No support for sign revision.
Partial support (for instance, all or none revision can be signed, or there is serious limitation on the signing technology)
Full support for signed revision.
Does the tools allow to tag revision ?
Basic tags operation but tag are immutable and the character set is reduce (no _ or number)
No limitation on the character set, but tag are not editable or movable.
Tag are not limited and completly editable
Support for internationalization
None. Tool can not be internationalized
Partial, tools can be internationalized but some message are not really adapated. Only a few languages are supported.
Full support. Translation is easy and the project provide translation for english, french, german, japanase and chinese, plus several other languages.
Does the tools allow to checkout only part of a project ?
None.
Partial support, through plugin not integrated in the code or core functionnality but known to be buggy
Full support.
How the dcm tool can be used with other, more regular and generally not distributed, tools.
none.
Basic, but limited (generally "readonly", no way to push back to the server.
The dscm tool can be used as a complet client. No operations is forbidden.
None, or very limited.
Basic, but limited (generally "readonly", no way to push back to the server.
The dscm tool can be used as a complet client. No operations is forbidden.
Is the tools supported by most IDE ?
Does the tools provided integration with some other (less obvious) tools ?
What kind and quality of merging algorithms inside the dscm tools.
How the tool handles branches
How the tool help user about encoding issues on the versionned files.
Tools provides no support about encoding (use plateform default encoding, and provide no way around it)
The tools can handle some encoding issues, but will not be able, for instance, to display properly diff between to file with different encoding.
Perfect encoding handling.
What kind of protocols (and how well) does the tool support ?
Network operation provides support for use behind a proxy.
None. Tools can be used behind proxy (at least directly).
Proxy are handled but not all type (for example no support for .pac files)
Full proxy support.
Does the tool allow web access to the repositories ?
Poor support (Read only, possible through a tierce application, no commit or no authentification...)
Partial support (simple, but incomplete, embedded webapp, some security limitation...)
Full support (scalable, HTTP exchange tuned and efficient)
Does the tools allows SSH as a protocol ?
None or weak (though an external application for instance)
Partial (supported but limited somehow)
Full support.