Matthieu Moy <Matthieu.Moy@xxxxxxx> wrote: > Jakub Narebski <jnareb@xxxxxxxxx> 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 - 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