--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/help/diffs.txt Sun Oct 04 09:59:13 2009 +0200
@@ -0,0 +1,31 @@
+ Mercurial's default format for showing changes between two
+ versions of a file is compatible with the unified format of GNU
+ diff, which can be used by GNU patch and many other standard
+ tools.
+
+ While this standard format is often enough, it does not encode the
+ following information:
+
+ - executable status and other permission bits
+ - copy or rename information
+ - changes in binary files
+ - creation or deletion of empty files
+
+ Mercurial also supports the extended diff format from the git VCS
+ which addresses these limitations. The git diff format is not
+ produced by default because a few widespread tools still do not
+ understand this format.
+
+ This means that when generating diffs from a Mercurial repository
+ (e.g. with "hg export"), you should be careful about things like
+ file copies and renames or other things mentioned above, because
+ when applying a standard diff to a different repository, this
+ extra information is lost. Mercurial's internal operations (like
+ push and pull) are not affected by this, because they use an
+ internal binary format for communicating changes.
+
+ To make Mercurial produce the git extended diff format, use the
+ --git option available for many commands, or set 'git = True' in
+ the [diff] section of your hgrc. You do not need to set this
+ option when importing diffs in this format or using them in the mq
+ extension.