214 |
214 |
215 A range acts as a closed interval. This means that a range of 3:5 |
215 A range acts as a closed interval. This means that a range of 3:5 |
216 gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2. |
216 gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2. |
217 ''')), |
217 ''')), |
218 |
218 |
219 (['gitdiffs'], _('Git Extended Diff Format'), |
219 (['diffs'], _('Diff Formats'), |
220 _(r''' |
220 _(r''' |
221 Mercurial's default format for showing changes between two versions |
221 Mercurial's default format for showing changes between two versions |
222 of a file is compatible to the unified format of GNU diff, which |
222 of a file is compatible with the unified format of GNU diff, which |
223 can be used by GNU patch and many other standard tools. |
223 can be used by GNU patch and many other standard tools. |
224 |
224 |
225 While this de facto standardized format is often enough, there are |
225 While this standard format is often enough, it does not encode the |
226 cases where additional change information should be included in the |
226 following information: |
227 generated diff file: |
|
228 |
227 |
229 - executable status |
228 - executable status |
230 - copy or rename information |
229 - copy or rename information |
231 - changes in binary files |
230 - changes in binary files |
232 - creation or deletion of empty files |
231 - creation or deletion of empty files |
233 |
232 |
234 Mercurial adopted the extended diff format which was invented for |
233 Mercurial also supports the extended diff format from the git VCS |
235 the git VCS to support above features. |
234 which addresses these limitations. The git diff format is not |
236 |
235 produced by default because there are very few tools which |
237 The git extended diff format is not produced by default, because |
236 understand this format. |
238 there are only very few tools (yet) which understand the additional |
237 |
239 information provided by them. |
238 This means that when generating diffs from a Mercurial repository |
240 |
|
241 This means that, when generating diffs from a Mercurial repository |
|
242 (e.g. with "hg export"), you should be careful about things like |
239 (e.g. with "hg export"), you should be careful about things like |
243 file copies and renames or other things mentioned above, because |
240 file copies and renames or other things mentioned above, because |
244 when applying a standard diff to a different repository, this extra |
241 when applying a standard diff to a different repository, this extra |
245 information is lost. Mercurial's internal operations (like push and |
242 information is lost. Mercurial's internal operations (like push and |
246 pull) are not affected by this, because they use a different, binary |
243 pull) are not affected by this, because they use an internal binary |
247 format for communicating changes. |
244 format for communicating changes. |
248 |
245 |
249 To make Mercurial produce the git extended diff format, use the |
246 To make Mercurial produce the git extended diff format, use the |
250 --git option available for many commands, or set 'git = True' in the |
247 --git option available for many commands, or set 'git = True' in the |
251 [diff] section of your hgrc. You do not need to set this option when |
248 [diff] section of your hgrc. You do not need to set this option when |