itdetect copies and renames based on the threshold of changes - stagit - static git page generator Err adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/stagit URL:git://src.adamsgaard.dk/stagit adamsgaard.dk 70 1Log /src/log.gph adamsgaard.dk 70 1Files /src/files.gph adamsgaard.dk 70 1Refs /src/refs.gph adamsgaard.dk 70 1README /src/file/README.gph adamsgaard.dk 70 1LICENSE /src/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit 8c45dfc58edc069a3787224f522c7f62da501a80 /src/commit/8c45dfc58edc069a3787224f522c7f62da501a80.gph adamsgaard.dk 70 1parent 175094899d7c453786857d0e5a7d2e634611aea4 /src/commit/175094899d7c453786857d0e5a7d2e634611aea4.gph adamsgaard.dk 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org adamsgaard.dk 70 iDate: Sun, 11 Nov 2018 18:09:27 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 idetect copies and renames based on the threshold of changes Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M stagit.c | 9 +++++++++ Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i1 file changed, 9 insertions(+), 0 deletions(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/stagit.c b/stagit.c /src/file/stagit.c.gph adamsgaard.dk 70 it@@ -92,6 +92,7 @@ commitinfo_getstats(struct commitinfo *ci) Err adamsgaard.dk 70 i { Err adamsgaard.dk 70 i struct deltainfo *di; Err adamsgaard.dk 70 i git_diff_options opts; Err adamsgaard.dk 70 i+ git_diff_find_options fopts; Err adamsgaard.dk 70 i const git_diff_delta *delta; Err adamsgaard.dk 70 i const git_diff_hunk *hunk; Err adamsgaard.dk 70 i const git_diff_line *line; Err adamsgaard.dk 70 it@@ -113,6 +114,12 @@ commitinfo_getstats(struct commitinfo *ci) Err adamsgaard.dk 70 i if (git_diff_tree_to_tree(&(ci->diff), repo, ci->parent_tree, ci->commit_tree, &opts)) Err adamsgaard.dk 70 i goto err; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i+ if (git_diff_find_init_options(&fopts, GIT_DIFF_FIND_OPTIONS_VERSION)) Err adamsgaard.dk 70 i+ goto err; Err adamsgaard.dk 70 i+ fopts.flags |= GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES; Err adamsgaard.dk 70 i+ if (git_diff_find_similar(ci->diff, &fopts)) Err adamsgaard.dk 70 i+ goto err; Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i ndeltas = git_diff_num_deltas(ci->diff); Err adamsgaard.dk 70 i if (ndeltas && !(ci->deltas = calloc(ndeltas, sizeof(struct deltainfo *)))) Err adamsgaard.dk 70 i err(1, "calloc"); Err adamsgaard.dk 70 it@@ -120,6 +127,7 @@ commitinfo_getstats(struct commitinfo *ci) Err adamsgaard.dk 70 i for (i = 0; i < ndeltas; i++) { Err adamsgaard.dk 70 i if (git_patch_from_diff(&patch, ci->diff, i)) Err adamsgaard.dk 70 i goto err; Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i if (!(di = calloc(1, sizeof(struct deltainfo)))) Err adamsgaard.dk 70 i err(1, "calloc"); Err adamsgaard.dk 70 i di->patch = patch; Err adamsgaard.dk 70 it@@ -460,6 +468,7 @@ printshowfile(FILE *fp, struct commitinfo *ci) Err adamsgaard.dk 70 i fputs("Diffstat:\n", fp); Err adamsgaard.dk 70 i for (i = 0; i < ci->ndeltas; i++) { Err adamsgaard.dk 70 i delta = git_patch_get_delta(ci->deltas[i]->patch); Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i fprintf(fp, "
", i); Err adamsgaard.dk 70 i xmlencode(fp, delta->old_file.path, strlen(delta->old_file.path)); Err adamsgaard.dk 70 i if (strcmp(delta->old_file.path, delta->new_file.path)) { Err adamsgaard.dk 70 .