idetect copies and renames based on the threshold of changes - stagit-gemini - Stagit for gemini protocol Openbsd Err thinkerwim.openbsd.amsterdam 70 hgit clone git://thinkerwim.org/stagit-gemini.git URL:git://thinkerwim.org/stagit-gemini.git thinkerwim.org 70 1Log /git/stagit-gemini/log.gph thinkerwim.org 70 1Files /git/stagit-gemini/files.gph thinkerwim.org 70 1Refs /git/stagit-gemini/refs.gph thinkerwim.org 70 1README /git/stagit-gemini/file/README.gph thinkerwim.org 70 1LICENSE /git/stagit-gemini/file/LICENSE.gph thinkerwim.org 70 i--- Err thinkerwim.openbsd.amsterdam 70 1commit 3a00e5bb2bf0415338ff08d1a7bc9a47b4b751e2 /git/stagit-gemini/commit/3a00e5bb2bf0415338ff08d1a7bc9a47b4b751e2.gph thinkerwim.org 70 1parent 8bad0e073142b1347085d04646fd64e11a7a7c2a /git/stagit-gemini/commit/8bad0e073142b1347085d04646fd64e11a7a7c2a.gph thinkerwim.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org thinkerwim.org 70 iDate: Sun, 11 Nov 2018 18:57:50 +0100 Err thinkerwim.openbsd.amsterdam 70 i Err thinkerwim.openbsd.amsterdam 70 idetect copies and renames based on the threshold of changes Err thinkerwim.openbsd.amsterdam 70 i Err thinkerwim.openbsd.amsterdam 70 iDiffstat: Err thinkerwim.openbsd.amsterdam 70 i M stagit-gopher.c | 9 +++++++++ Err thinkerwim.openbsd.amsterdam 70 i Err thinkerwim.openbsd.amsterdam 70 i1 file changed, 9 insertions(+), 0 deletions(-) Err thinkerwim.openbsd.amsterdam 70 i--- Err thinkerwim.openbsd.amsterdam 70 1diff --git a/stagit-gopher.c b/stagit-gopher.c /git/stagit-gemini/file/stagit-gopher.c.gph thinkerwim.org 70 i@@ -140,6 +140,7 @@ commitinfo_getstats(struct commitinfo *ci) Err thinkerwim.openbsd.amsterdam 70 i { Err thinkerwim.openbsd.amsterdam 70 i struct deltainfo *di; Err thinkerwim.openbsd.amsterdam 70 i git_diff_options opts; Err thinkerwim.openbsd.amsterdam 70 i+ git_diff_find_options fopts; Err thinkerwim.openbsd.amsterdam 70 i const git_diff_delta *delta; Err thinkerwim.openbsd.amsterdam 70 i const git_diff_hunk *hunk; Err thinkerwim.openbsd.amsterdam 70 i const git_diff_line *line; Err thinkerwim.openbsd.amsterdam 70 i@@ -161,6 +162,12 @@ commitinfo_getstats(struct commitinfo *ci) Err thinkerwim.openbsd.amsterdam 70 i if (git_diff_tree_to_tree(&(ci->diff), repo, ci->parent_tree, ci->commit_tree, &opts)) Err thinkerwim.openbsd.amsterdam 70 i goto err; Err thinkerwim.openbsd.amsterdam 70 i Err thinkerwim.openbsd.amsterdam 70 i+ if (git_diff_find_init_options(&fopts, GIT_DIFF_FIND_OPTIONS_VERSION)) Err thinkerwim.openbsd.amsterdam 70 i+ goto err; Err thinkerwim.openbsd.amsterdam 70 i+ fopts.flags |= GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES; Err thinkerwim.openbsd.amsterdam 70 i+ if (git_diff_find_similar(ci->diff, &fopts)) Err thinkerwim.openbsd.amsterdam 70 i+ goto err; Err thinkerwim.openbsd.amsterdam 70 i+ Err thinkerwim.openbsd.amsterdam 70 i ndeltas = git_diff_num_deltas(ci->diff); Err thinkerwim.openbsd.amsterdam 70 i if (ndeltas && !(ci->deltas = calloc(ndeltas, sizeof(struct deltainfo *)))) Err thinkerwim.openbsd.amsterdam 70 i err(1, "calloc"); Err thinkerwim.openbsd.amsterdam 70 i@@ -168,6 +175,7 @@ commitinfo_getstats(struct commitinfo *ci) Err thinkerwim.openbsd.amsterdam 70 i for (i = 0; i < ndeltas; i++) { Err thinkerwim.openbsd.amsterdam 70 i if (git_patch_from_diff(&patch, ci->diff, i)) Err thinkerwim.openbsd.amsterdam 70 i goto err; Err thinkerwim.openbsd.amsterdam 70 i+ Err thinkerwim.openbsd.amsterdam 70 i if (!(di = calloc(1, sizeof(struct deltainfo)))) Err thinkerwim.openbsd.amsterdam 70 i err(1, "calloc"); Err thinkerwim.openbsd.amsterdam 70 i di->patch = patch; Err thinkerwim.openbsd.amsterdam 70 i@@ -567,6 +575,7 @@ printshowfile(FILE *fp, struct commitinfo *ci) Err thinkerwim.openbsd.amsterdam 70 i fputs("Diffstat:\n", fp); Err thinkerwim.openbsd.amsterdam 70 i for (i = 0; i < ci->ndeltas; i++) { Err thinkerwim.openbsd.amsterdam 70 i delta = git_patch_get_delta(ci->deltas[i]->patch); Err thinkerwim.openbsd.amsterdam 70 i+ Err thinkerwim.openbsd.amsterdam 70 i if (strcmp(delta->old_file.path, delta->new_file.path)) { Err thinkerwim.openbsd.amsterdam 70 i snprintf(filename, sizeof(filename), "%s -> %s", Err thinkerwim.openbsd.amsterdam 70 i delta->old_file.path, delta->new_file.path); Err thinkerwim.openbsd.amsterdam 70 .