From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Narebski Subject: Re: VCS comparison table Date: Tue, 17 Oct 2006 16:41:02 +0200 Message-ID: <200610171641.04455.jnareb@gmail.com> References: <9e4733910610140807p633f5660q49dd2d2111c9f5fe@mail.gmail.com> <200610171555.56778.jnareb@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: Linus Torvalds , Andreas Ericsson , bazaar-ng@lists.canonical.com, git@vger.kernel.org X-From: git-owner@vger.kernel.org Tue Oct 17 16:41:18 2006 Return-path: Envelope-to: gcvg-git@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GZq7V-0005Ii-49 for gcvg-git@gmane.org; Tue, 17 Oct 2006 16:40:41 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751097AbWJQOki (ORCPT ); Tue, 17 Oct 2006 10:40:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751102AbWJQOki (ORCPT ); Tue, 17 Oct 2006 10:40:38 -0400 Received: from ug-out-1314.google.com ([66.249.92.171]:14374 "EHLO ug-out-1314.google.com") by vger.kernel.org with ESMTP id S1751097AbWJQOkh (ORCPT ); Tue, 17 Oct 2006 10:40:37 -0400 Received: by ug-out-1314.google.com with SMTP id o38so1005635ugd for ; Tue, 17 Oct 2006 07:40:36 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:cc:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=R2Vvi+EXrkwdYmeOW0H5JqVmklG8qvlv0CJSbBjnAh/PjPdLmlqL1Z2CKw9omKmYzQvbd+I7doT3CalM5tJfN1uAaRnPDlBWGiQa0nCFLZdO2HhKrEY7Icd+IOn8aQP4u+LjNStTiP+23O/ni8AV7DP2juURwQ/IODEkjd7W1AY= Received: by 10.66.220.17 with SMTP id s17mr9886284ugg; Tue, 17 Oct 2006 07:40:35 -0700 (PDT) Received: from host-81-190-17-207.torun.mm.pl ( [81.190.17.207]) by mx.google.com with ESMTP id 59sm236988ugf.2006.10.17.07.40.34; Tue, 17 Oct 2006 07:40:35 -0700 (PDT) To: Matthieu Moy User-Agent: KMail/1.9.3 In-Reply-To: Content-Disposition: inline Sender: git-owner@vger.kernel.org Precedence: bulk X-Mailing-List: git@vger.kernel.org Archived-At: Matthieu Moy wrote: > Jakub Narebski writes: > >> While email can be used to exchange patches (git-format-patch to >> generate patches, git-send-mail to send patches if you don't want to >> use ordinary email client, git-am to apply patches) it cannot be used >> to exchange all information (one cannot send for example tags, or >> merge commits). > > In bzr, the "bundle" appears like a patch, but it actually contain the > same information as the revision(s) it contains (I believe this > applies to hg and Darcs too). A bundle can be used almost like a > branch. That's a key point, since revision identity is not based on > content's hash, so applying a patch is very different from merging a > bundle. The patch generated by git-format-patch has author information (in "From:" header), original commit date (in "Date:" header), commit message (first line in "Subject:", rest in message body), place for comments which are not to be included in commit message, diffstat for easier patch review, and git extended diff (with information about renames detection, mode changes, 7-characters wide shortcuts of file contents identifiers). It does not record parent information, original comitter and comitter date, which branch we are on etc. You can quite easily provide ordering of patches. Sending patches via email prohibits first line of commit message to be enclosed in brackets (subject usually is "[PATCH] Commit description" or "[PATCH n/m] Commit description") and enforces git convention of commit message to consist of first line describing commit shortly, separated by empty line from the longer description and signoff lines. "Bundle" equivalent, although binary in nature, would be thin pack. >> It is very usefull tool to have for "accidental" developer. > > That's the key point, but patch review for non-accidental developpers > is also good :-). How very true... >> BTW. git can provide binary patch for binary files (e.g. adding >> favicon for gitweb in git.git). > > Bazaar's bundle use base64 encoding for binaries. I don't think that's > efficient binary diff (xdelta-like) though. Aaron has been fighting > quite a lot with MUA and MTA mixing up the patches (line ending in > particular) ... If I remember correctly git binary diff format is xdiff based, and uses kind of ascii85 encoding (PostScript). -- Jakub Narebski Poland