I'd like to add Git to comparison table of SCMs at Better SCM Initiative site: http://better-scm.berlios.de To do that, I need to fill in infomration about Git. Most of questions / items didn't give much problem, but there are a few on which I would like your input. (Yes, I know that such SCM comparisons are usually biased towards the idea of what are most important features of a version control system. Nevertheless...) 1. Ease of Deployment How easy it is to deploy the software? What are the depenedencies and how can they be satisfied? There are binary packages for Linux (RPM, deb) and for MS Windows (msysGit). Git requires POSIX shell, Perl, and POSIX utilities (BTW. INSTALL file lacks full specification of dependences); although there is ongoing effort towards making all commands builtin, in C. Makefile contains ready configuration for many OS, and there is autoconf script to generate Makefile configuration. I'm not sure if the problems with compiling documentation to HTML and manpage forms, which require AsciiDoc and xmlto toolchains should be also mentioned here. Well, that and the fact that there exist pre-build documentation in html and man forms. 2. Command Set What is the command set? How compatible it is with the commands of CVS (the current open-source defacto standard)? Should it be: "Tries to follow CVS conventions, but deviates where there is a different design.", as for Mercurial and Monotone? If I remember correctly command set is patterned somewhat after BitKeeper. "Large command set divided into plumbing (low lewel, to be used in scripts) and porcelain (high level commands)." 3. Portability How portable is the version-control system to various operating systems, computer architectures, and other types of systems? "Good. Portable across all POSIX systems. There exists Win32 binary using MinGW." >From the results of Git User's Surveys there are many OS on which Git is used; but it doesn't tell us how hard was to deply Git on those exotic operatings systems. 4. Repository Permissions Is it possible to define permissions on access to different parts of a remote repository? Or is access open for all? "Partial (?). It is possible to lock down repository (access to branches and tags) using hooks." I don't know if it is possible to do finer level ACLs, i.e. if it is possible to lock subdirectories or files in Git. Although for distributed SCMs ACL doesn't matter much: check diffstat and merge or not from trusted people. We have "network of trust" (BTW. Karl Fogel in OSSBook recommends 'soft' control of access control to repository, on social rather than on technical level). P.S. How do "svn diff" looks like? -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html