projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(short) documentation for the testgit remote helper
[git.git]
/
diffcore-delta.c
diff --git
a/diffcore-delta.c
b/diffcore-delta.c
index e670f8512558c38d9a9d6e754cfc609b042b1195..7cf431d261f9a35679ead7c8acda15aecdb8720d 100644
(file)
--- a/
diffcore-delta.c
+++ b/
diffcore-delta.c
@@
-201,10
+201,15
@@
int diffcore_count_changes(struct diff_filespec *src,
while (d->cnt) {
if (d->hashval >= s->hashval)
break;
while (d->cnt) {
if (d->hashval >= s->hashval)
break;
+ la += d->cnt;
d++;
}
src_cnt = s->cnt;
d++;
}
src_cnt = s->cnt;
- dst_cnt = d->hashval == s->hashval ? d->cnt : 0;
+ dst_cnt = 0;
+ if (d->cnt && d->hashval == s->hashval) {
+ dst_cnt = d->cnt;
+ d++;
+ }
if (src_cnt < dst_cnt) {
la += dst_cnt - src_cnt;
sc += src_cnt;
if (src_cnt < dst_cnt) {
la += dst_cnt - src_cnt;
sc += src_cnt;
@@
-213,6
+218,10
@@
int diffcore_count_changes(struct diff_filespec *src,
sc += dst_cnt;
s++;
}
sc += dst_cnt;
s++;
}
+ while (d->cnt) {
+ la += d->cnt;
+ d++;
+ }
if (!src_count_p)
free(src_count);
if (!src_count_p)
free(src_count);