git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Adding Git to Better SCM Initiative : Comparison

From
Jakub Narebski <jnareb@gmail.com>
Date
Nov 28, 2007, 22:39 UTC
Message-ID
<200711282339.59938.jnareb@gmail.com>
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
Next: Robin Rosenberg
Message 1 of 11 in “Adding Git to Better SCM Initiative : Comparison”
  1. Jakub NarebskiNov 28, 2007
  2. Robin RosenbergNov 29, 2007
  3. Jan HudecNov 29, 2007
  4. Jakub NarebskiNov 29, 2007
  5. Alex RiesenNov 29, 2007
  6. Jakub NarebskiNov 30, 2007
  7. Johan HerlandNov 30, 2007
  8. Jakub NarebskiNov 30, 2007
  9. Alex RiesenNov 30, 2007
  10. Jan HudecNov 30, 2007
  11. Jakub NarebskiDec 3, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.