summaryrefslogtreecommitdiff
path: root/src/patch_parse.c
Commit message (Collapse)AuthorAgeFilesLines
* diff: treat binary patches with no data specialethomson/diff-read-empty-binaryEdward Thomson2016-09-051-12/+33
| | | | | | When creating and printing diffs, deal with binary deltas that have binary data specially, versus diffs that have a binary file but lack the actual binary data.
* Teach `git_patch_from_diff` about parsed diffsethomson/patch_from_diffEdward Thomson2016-08-241-0/+15
| | | | | Ensure that `git_patch_from_diff` can return the patch for parsed diffs, not just generate a patch for a generated diff.
* git_diff_file: move `id_abbrev`ethomson/diff_fileEdward Thomson2016-08-031-3/+3
| | | | | Move `id_abbrev` to a more reasonable place where it packs more nicely (before anybody starts using it).
* apply: check allocation properlyEdward Thomson2016-07-241-1/+1
|
* patch: show copy information for identical copiesEdward Thomson2016-06-251-0/+16
| | | | | | | When showing copy information because we are duplicating contents, for example, when performing a `diff --find-copies-harder -M100 -B100`, then show copy from/to lines in a patch, and do not show context. Ensure that we can also parse such patches.
* patch::parse: handle patches with no hunksEdward Thomson2016-06-251-1/+3
| | | | | Patches may have no hunks when there's no modifications (for example, in a rename). Handle them.
* patch: zero id and abbrev length for empty filesEdward Thomson2016-05-261-8/+20
|
* patch: identify non-binary patches as `NOT_BINARY`Edward Thomson2016-05-261-4/+3
|
* introduce `git_diff_from_buffer` to parse diffsEdward Thomson2016-05-261-32/+43
| | | | Parse diff files into a `git_diff` structure.
* patch: differentiate not found and invalid patchesEdward Thomson2016-05-261-1/+2
|
* git_patch_parse_ctx: refcount the contextEdward Thomson2016-05-261-87/+144
|
* parse: introduce parse_ctx_contains_sEdward Thomson2016-05-261-18/+25
|
* patch: `git_patch_from_patchfile` -> `git_patch_from_buffer`Edward Thomson2016-05-261-1/+1
|
* patch: provide static string `advance_expected`Edward Thomson2016-05-261-10/+13
|
* patch parse: dup the patch from the callersEdward Thomson2016-05-261-5/+22
|
* patch parsing: squash some memory leaksEdward Thomson2016-05-261-0/+7
|
* patch: drop some warningsEdward Thomson2016-05-261-2/+2
|
* Introduce git_patch_options, handle prefixesEdward Thomson2016-05-261-112/+163
| | | | | Handle prefixes (in terms of number of path components) for patch parsing.
* patch printing: include rename informationEdward Thomson2016-05-261-2/+2
|
* patch_parse: don't set new mode when deletedEdward Thomson2016-05-261-4/+4
|
* patch_parse: use names from `diff --git` headerEdward Thomson2016-05-261-17/+44
| | | | | | When a text file is added or deleted, use the file names from the `diff --git` header instead of the `---` or `+++` lines. This is for compatibility with git.
* patch_parse: set binary flagEdward Thomson2016-05-261-0/+1
| | | | | We may have parsed binary data, set the `SHOW_BINARY` flag which indicates that we have actually computed a binary diff.
* patch: when parsing, set nfiles correctly in deltaEdward Thomson2016-05-261-0/+3
|
* diff: include oid length in deltasEdward Thomson2016-05-261-8/+4
| | | | | | Now that `git_diff_delta` data can be produced by reading patch file data, which may have an abbreviated oid, allow consumers to know that the id is abbreviated.
* patch parse: unset path prefixEdward Thomson2016-05-261-0/+4
|
* patch: use delta's old_file/new_file membersEdward Thomson2016-05-261-39/+26
| | | | | No need to replicate the old_file/new_file members, or plumb them strangely up.
* patch: abstract patches into diff'ed and parsedEdward Thomson2016-05-261-0/+920
Patches can now come from a variety of sources - either internally generated (from diffing two commits) or as the results of parsing some external data.