summaryrefslogtreecommitdiff
path: root/include/git2/diff.h
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-10-05 15:56:57 -0700
committerRussell Belfer <rb@github.com>2012-10-09 11:59:34 -0700
commit0d64bef941928046d114c4da1acb70bd2907855e (patch)
tree4ae0ac6484c62b0a63ca44f937d67ba15f97d7f0 /include/git2/diff.h
parentf3a04e0f49d0f46e578613d1c27161abc4c2bf22 (diff)
downloadlibgit2-0d64bef941928046d114c4da1acb70bd2907855e.tar.gz
Add complex checkout test and then fix checkout
This started as a complex new test for checkout going through the "typechanges" test repository, but that revealed numerous issues with checkout, including: * complete failure with submodules * failure to create blobs with exec bits * problems when replacing a tree with a blob because the tree "example/" sorts after the blob "example" so the delete was being processed after the single file blob was created This fixes most of those problems and includes a number of other minor changes that made it easier to do that, including improving the TYPECHANGE support in diff/status, etc.
Diffstat (limited to 'include/git2/diff.h')
-rw-r--r--include/git2/diff.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/git2/diff.h b/include/git2/diff.h
index 551e525ef..1d32d9ad2 100644
--- a/include/git2/diff.h
+++ b/include/git2/diff.h
@@ -56,6 +56,9 @@ GIT_BEGIN_DECL
* - GIT_DIFF_DONT_SPLIT_TYPECHANGE: normally, a type change between files
* will be converted into a DELETED record for the old file and an ADDED
* record for the new one; this option enabled TYPECHANGE records.
+ * - GIT_DIFF_SKIP_BINARY_CHECK: the binary flag in the delta record will
+ * not be updated. This is useful if iterating over a diff without hunk
+ * and line callbacks and you want to avoid loading files completely.
*/
enum {
GIT_DIFF_NORMAL = 0,
@@ -73,7 +76,9 @@ enum {
GIT_DIFF_DISABLE_PATHSPEC_MATCH = (1 << 11),
GIT_DIFF_DELTAS_ARE_ICASE = (1 << 12),
GIT_DIFF_INCLUDE_UNTRACKED_CONTENT = (1 << 13),
- GIT_DIFF_DONT_SPLIT_TYPECHANGE = (1 << 14),
+ GIT_DIFF_SKIP_BINARY_CHECK = (1 << 14),
+ GIT_DIFF_INCLUDE_TYPECHANGE = (1 << 15),
+ GIT_DIFF_INCLUDE_TYPECHANGE_TREES = (1 << 16),
};
/**