diff options
author | Junio C Hamano <junkio@cox.net> | 2005-05-22 10:04:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-22 10:17:50 -0700 |
commit | 6b14d7faf0bad026a81a27bac07b47691f621b8f (patch) | |
tree | b9d1923aaaea706179e9b27e07a843d277ad1bee /diffcore-rename.c | |
parent | 26dee0adfcfa6fc15a522d32765eabbe4f295237 (diff) | |
download | git-6b14d7faf0bad026a81a27bac07b47691f621b8f.tar.gz |
[PATCH] Diffcore updates.
This moves the path selection logic from individual programs to a new
diffcore transformer (diff-tree still needs to have its own for
performance reasons). Also the header printing code in diff-tree was
tweaked not to produce anything when pickaxe is in effect and there is
nothing interesting to report. An interesting example is the following
in the GIT archive itself:
$ git-whatchanged -p -C -S'or something in a real script'
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'diffcore-rename.c')
-rw-r--r-- | diffcore-rename.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/diffcore-rename.c b/diffcore-rename.c index 8de80dfe73..794e5cc7d5 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -224,8 +224,25 @@ static int needs_to_stay(struct diff_queue_struct *q, int i, return 0; } -void diff_detect_rename(int detect_rename, - int minimum_score) +int diff_scoreopt_parse(const char *opt) +{ + int diglen, num, scale, i; + if (opt[0] != '-' || (opt[1] != 'M' && opt[1] != 'C')) + return -1; /* that is not a -M nor -C option */ + diglen = strspn(opt+2, "0123456789"); + if (diglen == 0 || strlen(opt+2) != diglen) + return 0; /* use default */ + sscanf(opt+2, "%d", &num); + for (i = 0, scale = 1; i < diglen; i++) + scale *= 10; + + /* user says num divided by scale and we say internally that + * is MAX_SCORE * num / scale. + */ + return MAX_SCORE * num / scale; +} + +void diffcore_rename(int detect_rename, int minimum_score) { struct diff_queue_struct *q = &diff_queued_diff; struct diff_queue_struct outq; |