Introduction
Introduction Statistics Contact Development Disclaimer Help
tdetect copies and renames based on the threshold of changes - stagit - static …
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit 8c45dfc58edc069a3787224f522c7f62da501a80
parent 175094899d7c453786857d0e5a7d2e634611aea4
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 11 Nov 2018 18:09:27 +0100
detect copies and renames based on the threshold of changes
Diffstat:
M stagit.c | 9 +++++++++
1 file changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/stagit.c b/stagit.c
t@@ -92,6 +92,7 @@ commitinfo_getstats(struct commitinfo *ci)
{
struct deltainfo *di;
git_diff_options opts;
+ git_diff_find_options fopts;
const git_diff_delta *delta;
const git_diff_hunk *hunk;
const git_diff_line *line;
t@@ -113,6 +114,12 @@ commitinfo_getstats(struct commitinfo *ci)
if (git_diff_tree_to_tree(&(ci->diff), repo, ci->parent_tree, ci->comm…
goto err;
+ if (git_diff_find_init_options(&fopts, GIT_DIFF_FIND_OPTIONS_VERSION))
+ goto err;
+ fopts.flags |= GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES;
+ if (git_diff_find_similar(ci->diff, &fopts))
+ goto err;
+
ndeltas = git_diff_num_deltas(ci->diff);
if (ndeltas && !(ci->deltas = calloc(ndeltas, sizeof(struct deltainfo …
err(1, "calloc");
t@@ -120,6 +127,7 @@ commitinfo_getstats(struct commitinfo *ci)
for (i = 0; i < ndeltas; i++) {
if (git_patch_from_diff(&patch, ci->diff, i))
goto err;
+
if (!(di = calloc(1, sizeof(struct deltainfo))))
err(1, "calloc");
di->patch = patch;
t@@ -460,6 +468,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
fputs("<b>Diffstat:</b>\n<table>", fp);
for (i = 0; i < ci->ndeltas; i++) {
delta = git_patch_get_delta(ci->deltas[i]->patch);
+
fprintf(fp, "<tr><td><a href=\"#h%zu\">", i);
xmlencode(fp, delta->old_file.path, strlen(delta->old_file.pat…
if (strcmp(delta->old_file.path, delta->new_file.path)) {
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.