summaryrefslogtreecommitdiff
path: root/examples/log.c
diff options
context:
space:
mode:
authorVicent Martí <vicent@github.com>2013-10-22 11:55:54 -0700
committerVicent Martí <vicent@github.com>2013-10-22 11:55:54 -0700
commit1c74686e05c41c30944173bacec3a8312f08cbb5 (patch)
tree92f55460acf0944b00ff8d7a4500f10633351a4a /examples/log.c
parent98fec8a937b93c6a6a0ad35ccd04af4cfeae1767 (diff)
parent7ce60099eec2442cc5428a830b88d51e8f9c1d75 (diff)
downloadlibgit2-1c74686e05c41c30944173bacec3a8312f08cbb5.tar.gz
Merge pull request #1897 from libgit2/split-patch-from-diff
RFC: Proposed reworking of diff APIs
Diffstat (limited to 'examples/log.c')
-rw-r--r--examples/log.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/examples/log.c b/examples/log.c
index 413c211e4..4c2df07c9 100644
--- a/examples/log.c
+++ b/examples/log.c
@@ -184,14 +184,18 @@ static void print_commit(git_commit *commit)
static int print_diff(
const git_diff_delta *delta,
- const git_diff_range *range,
- char usage,
- const char *line,
- size_t line_len,
+ const git_diff_hunk *hunk,
+ const git_diff_line *line,
void *data)
{
- (void)delta; (void)range; (void)usage; (void)line_len; (void)data;
- fputs(line, stdout);
+ (void)delta; (void)hunk; (void)data;
+
+ if (line->origin == GIT_DIFF_LINE_CONTEXT ||
+ line->origin == GIT_DIFF_LINE_ADDITION ||
+ line->origin == GIT_DIFF_LINE_DELETION)
+ fputc(line->origin, stdout);
+
+ fwrite(line->content, 1, line->content_len, stdout);
return 0;
}
@@ -218,7 +222,7 @@ static int match_with_parent(
{
git_commit *parent;
git_tree *a, *b;
- git_diff_list *diff;
+ git_diff *diff;
int ndeltas;
check(git_commit_parent(&parent, commit, (size_t)i), "Get parent", NULL);
@@ -229,7 +233,7 @@ static int match_with_parent(
ndeltas = (int)git_diff_num_deltas(diff);
- git_diff_list_free(diff);
+ git_diff_free(diff);
git_tree_free(a);
git_tree_free(b);
git_commit_free(parent);
@@ -373,7 +377,7 @@ int main(int argc, char *argv[])
if (opt.show_diff) {
git_tree *a = NULL, *b = NULL;
- git_diff_list *diff = NULL;
+ git_diff *diff = NULL;
if (parents > 1)
continue;
@@ -388,10 +392,10 @@ int main(int argc, char *argv[])
check(git_diff_tree_to_tree(
&diff, git_commit_owner(commit), a, b, &diffopts),
"Diff commit with parent", NULL);
- check(git_diff_print_patch(diff, print_diff, NULL),
+ check(git_diff_print(diff, GIT_DIFF_FORMAT_PATCH, print_diff, NULL),
"Displaying diff", NULL);
- git_diff_list_free(diff);
+ git_diff_free(diff);
git_tree_free(a);
git_tree_free(b);
}