receive/send-pack: support pushing from a shallow clone
[gitweb.git] / Documentation / technical / api-diff.txt
index 83b007e70876dec8ef0521ce40a682af79cc69d9..8b001de0db3628d4f02c2890d5614e067e701ed4 100644 (file)
@@ -28,18 +28,19 @@ Calling sequence
 
 * Call `diff_setup_done()`; this inspects the options set up so far for
   internal consistency and make necessary tweaking to it (e.g. if
-  textual patch output was asked, recursive behaviour is turned on).
+  textual patch output was asked, recursive behaviour is turned on);
+  the callback set_default in diff_options can be used to tweak this more.
 
 * As you find different pairs of files, call `diff_change()` to feed
   modified files, `diff_addremove()` to feed created or deleted files,
-  or `diff_unmerged()` to feed a file whose state is 'unmerged' to the
+  or `diff_unmerge()` to feed a file whose state is 'unmerged' to the
   API.  These are thin wrappers to a lower-level `diff_queue()` function
   that is flexible enough to record any of these kinds of changes.
 
 * Once you finish feeding the pairs of files, call `diffcore_std()`.
   This will tell the diffcore library to go ahead and do its work.
 
-* Calling `diffcore_flush()` will produce the output.
+* Calling `diff_flush()` will produce the output.
 
 
 Data structures
@@ -50,7 +51,7 @@ Data structures
 This is the internal representation for a single file (blob).  It
 records the blob object name (if known -- for a work tree file it
 typically is a NUL SHA-1), filemode and pathname.  This is what the
-`diff_addremove()`, `diff_change()` and `diff_unmerged()` synthesize and
+`diff_addremove()`, `diff_change()` and `diff_unmerge()` synthesize and
 feed `diff_queue()` function with.
 
 * `struct diff_filepair`
@@ -115,6 +116,13 @@ Notable members are:
        operation, but some do not have anything to do with the diffcore
        library.
 
+`touched_flags`::
+       Records whether a flag has been changed due to user request
+       (rather than just set/unset by default).
+
+`set_default`::
+       Callback which allows tweaking the options in diff_setup_done().
+
 BINARY, TEXT;;
        Affects the way how a file that is seemingly binary is treated.