From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Cc: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Subject: Re: Adding Git to Better SCM Initiative : Comparison
Date: Thu, 29 Nov 2007 03:26:12 +0100 [thread overview]
Message-ID: <200711290326.13822.jnareb@gmail.com> (raw)
In-Reply-To: <200711282339.59938.jnareb@gmail.com>
Jakub Narebski wrote:
> To do that, I need to fill in information about Git. Most
> of questions / items didn't give much problem, but there
> are a few on which I would like your input.
By the way, below is patch with the information I have filled.
Check out the TO DO items.
diff --git a/src/comparison/scm-comparison.xml b/src/comparison/scm-comparison.xml
index b459747..6f84190 100644
--- a/src/comparison/scm-comparison.xml
+++ b/src/comparison/scm-comparison.xml
@@ -38,6 +38,9 @@ TODO:
<impl id="darcs">
<name>Darcs</name>
</impl>
+ <impl id="git">
+ <name>Git</name>
+ </impl>
<impl id="mercurial">
<name>Mercurial</name>
</impl>
@@ -106,6 +109,7 @@ TODO:
<s id="svk">Commits are atomic.</s>
<s id="aegis">Commits are atomic.</s>
<s id="bitkeeper">Yes (but need to verify)</s>
+ <s id="git">Yes.</s>
<s id="mercurial">Yes.</s>
<s id="monotone">Yes.</s>
<s id="opencm">Yes. Commits are atomic.</s>
@@ -142,6 +146,11 @@ TODO:
<s id="darcs">Yes. Renames are supported.</s>
<s id="bitkeeper">Yes. Renames are supported.</s>
<s id="aegis">Yes. Renames are supported.</s>
+ <s id="git">
+ N/A. Git does not track renames, but detects renames
+ and copies. You can follow history of file using
+ 'git log --follow'.
+ </s>
<s id="mercurial">Yes. Renames are supported.</s>
<s id="monotone">Yes. Renames are supported.</s>
<s id="opencm">Yes. Renames are supported</s>
@@ -214,6 +223,11 @@ TODO:
Yes. Copies are supported.
</s>
<s id="aegis">No. Copies are not supported.</s>
+ <s id="git">
+ N/A. Git does not track copies, but detects renames
+ and copies. You can follow history of file using
+ 'git log -C --follow'.
+ </s>
<s id="mercurial">Yes. Copies are supported</s>
<s id="monotone">Yes. Copies are supported</s>
<s id="opencm">No. Copies are not supported.</s>
@@ -267,6 +281,7 @@ TODO:
<s id="darcs">Yes.</s>
<s id="bitkeeper">Yes.</s>
<s id="aegis">Yes.</s>
+ <s id="git">Yes.</s>
<s id="mercurial">Yes.</s>
<s id="monotone">Yes.</s>
<s id="opencm">No.</s>
@@ -313,6 +328,7 @@ TODO:
<s id="darcs">Yes.</s>
<s id="bitkeeper">Yes.</s>
<s id="aegis">Yes.</s>
+ <s id="git">Yes.</s>
<s id="mercurial">Yes.</s>
<s id="monotone">Yes.</s>
<s id="opencm">No.</s>
@@ -373,6 +389,10 @@ TODO:
<s id="svk">
Same as subversion.
</s>
+ <s id="git">
+ Partial (?). It is possible to lock down repository
+ (access to branches and tags) using hooks.
+ </s>
<s id="mercurial">
Yes. It is possible to lock down repositories,
subdirectories, or files using hooks.
@@ -455,6 +475,9 @@ TODO:
<s id="darcs">
Yes. Changesets are supported.
</s>
+ <s id="git">
+ Yes. Changesets are supported.
+ </s>
<s id="mercurial">
Yes. Changesets are supported.
</s>
@@ -509,6 +532,7 @@ TODO:
<s id="arch">Not in the command line client, but ViewARCH,
a web-interface for Arch, has it.</s>
<s id="darcs">Yes. (darcs annotate)</s>
+ <s id="git">Yes. (git blame, git gui blame)</s>
<s id="mercurial">Yes. (hg annotate)</s>
<s id="monotone">Yes, as of version 0.19.</s>
<s id="aegis">Yes. aeannotate</s>
@@ -570,6 +594,9 @@ TODO:
whole.
</s>
<s id="aegis">No. All changes are made repository-wide.</s>
+ <s id="git">
+ No. All changes are made repository-wide.
+ But you can use submodules / subrpoject support for that.</s>
<s id="mercurial">
It is possible to commit changes only in a subset of the
tree. There are plans for partial checkouts.
@@ -636,6 +663,10 @@ TODO:
Yes, using "darcs whatsnew".
</s>
<s id="aegis">Yes. Using aediff</s>
+ <s id="git">
+ Yes. Using git diff.
+ Note that git uses staging area for commits (index).
+ </s>
<s id="mercurial">Yes. Using hg diff.</s>
<s id="monotone">Yes. In a similar fashion to CVS.</s>
<s id="opencm">Yes. Using cm diff</s>
@@ -681,6 +712,10 @@ TODO:
<s id="darcs">
No.
</s>
+ <s id="git">
+ No. But you can tag (with description) given contents
+ of a file (blob).
+ </s>
<s id="mercurial">
No.
</s>
@@ -782,6 +817,15 @@ TODO:
and the client contains a help tool that offers
an integrated help system.
</s>
+ <s id="git">
+ Medium. There's Git User's Manual, manpages, some
+ technical documentation and some howtos. All
+ documentation is also available online in HTML format;
+ there is additional information (including beginnings
+ of FAQ) on git wiki.
+ Nevertheles one of complaints in surveys is insufficient
+ or fragmented documentation.
+ </s>
<s id="mercurial">
Very good. There's an overview and tutorial on the
web site, and integrated help for every command.
@@ -894,6 +938,14 @@ TODO:
to install the subversion perl bindings and a few modules
from CPAN.
</s>
+ <s id="git">
+ TO DO. RPMs and deb packages for Linux. msysGit and
+ Cygwin for Win32 - Git requires POSIX shell, Perl,
+ and POSIX utilities for some commands (builtin).
+ Autoconf to generate Makefile configuration; ready
+ generic configuration for many OS. Compiling docs
+ requires asciidoc and xmlto toolchain, but prebuild.
+ </s>
<s id="mercurial">
Excellent. Binary packages are available for all
popular platforms. Building from source requires
@@ -1006,6 +1058,13 @@ TODO:
but since the model is different most commands are
unique.
</s>
+ <s id="git">
+ TO DO.
+ Tries to follow CVS conventions, but deviates where there
+ is a different design.
+ Large command set divided into plumbing (low lewel, to be
+ used in scripts) and porcelain (high level).
+ </s>
<s id="mercurial">
Tries to follow CVS conventions, but deviates where there
is a different design.
@@ -1106,6 +1165,10 @@ TODO:
There exists some HTTP-functionality, but it is quite
limited.
</s>
+ <s id="git">
+ Good. Uses HTTPS (with WebDAV) or ssh for push,
+ HTTP, FTP, ssh or custom protocol for fetch.
+ </s>
<s id="mercurial">
Excellent. Uses HTTP or ssh. Remote access also
works safely without locks over read-only network
@@ -1203,6 +1266,10 @@ TODO:
Very good. Supports many UNIXes, Mac OS X, and Windows,
and is written in a portable language.
</s>
+ <s id="git">TO DO.
+ Good. Portable across all POSIX systems.
+ There exists Win32 binary using MinGW.
+ </s>
<s id="mercurial">
Excellent. Runs on all platforms supported by
Python. Repositories are portable across CPU
@@ -1300,6 +1367,9 @@ TODO:
is included in the distribution.
</s>
<s id="aegis">Yes.</s>
+ <s id="git">
+ Yes. The web interface is a bundled component.
+ Other web interfaces: cgit, wit, git-php</s>
<s id="mercurial">Yes. The web interface is a bundled component.</s>
<s id="monotone">No.</s>
<s id="opencm">No.</s>
@@ -1373,6 +1443,11 @@ TODO:
<s id="aegis">
There is tkaegis.
</s>
+ <s id="git">RO DO
+ Bundled history viewer gitk and commit tool git-gui,
+ both use Tcl/Tk. There is also qgit (Qt) and Giggle
+ (GTK+).
+ </s>
<s id="mercurial">
History viewing available with hgit extension;
check-in extension (hgct) makes committing easier.
@@ -1453,6 +1528,7 @@ TODO:
GNU GPL (open-source)
</s>
<s id="svk">Perl License. (open source)</s>
+ <s id="git">GNU GPL (open source)</s>
<s id="mercurial">GNU GPL (open source)</s>
<s id="monotone">GNU GPL (open source)</s>
<s id="opencm">
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-11-29 2:26 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-28 22:39 Adding Git to Better SCM Initiative : Comparison Jakub Narebski
2007-11-29 1:48 ` Robin Rosenberg
2007-11-29 7:17 ` Jan Hudec
2007-11-29 2:26 ` Jakub Narebski [this message]
2007-11-29 20:07 ` Alex Riesen
2007-11-30 0:18 ` Jakub Narebski
2007-11-30 1:26 ` Johan Herland
2007-11-30 1:53 ` Jakub Narebski
2007-11-30 7:16 ` Alex Riesen
2007-11-30 18:34 ` Jan Hudec
2007-12-03 19:57 ` Jakub Narebski
-- strict thread matches above, loose matches on Subject: below --
2007-12-10 12:57 Jakub Narebski
2007-12-10 13:09 ` Eyvind Bernhardsen
2007-12-10 13:20 ` Jakub Narebski
2007-12-10 14:33 ` David Kastrup
2007-12-10 14:49 ` Florian Weimer
2007-12-10 15:23 ` Johannes Schindelin
2007-12-10 15:36 ` Florian Weimer
2007-12-10 15:47 ` Jakub Narebski
2007-12-10 16:28 ` Florian Weimer
2007-12-10 16:38 ` Linus Torvalds
2007-12-10 16:50 ` Chris Shoemaker
2007-12-10 17:21 ` Jakub Narebski
[not found] ` <200801071057.27710.shlomif@iglu.org.il>
2008-01-13 0:44 ` Jakub Narebski
2008-01-14 0:14 ` Dmitry Potapov
2008-01-14 0:31 ` Jakub Narebski
2008-01-14 6:58 ` Dmitry Potapov
2008-01-14 12:14 ` Jakub Narebski
2008-01-13 15:05 linux
2008-01-13 15:16 ` Matthieu Moy
2008-01-13 16:25 ` Jakub Narebski
2008-01-13 18:42 ` linux
2008-01-13 19:20 ` linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200711290326.13822.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=robin.rosenberg.lists@dewire.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.