diff options
| author | Junio C Hamano <gitster@pobox.com> | 2011-07-06 15:38:18 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2011-07-06 15:38:18 -0700 |
| commit | 71ee7fd15457a0252c089420b5b66de266dcbd2f (patch) | |
| tree | 98d4d7d1f72c30fd7695f011be78d3e45158c41a /diffcore-delta.c | |
| parent | 4d9e42f8f11c57b32b976a943c8ddaf6214e64b8 (diff) | |
| parent | e923eaeb901ff056421b9007adcbbce271caa7b6 (diff) | |
| download | git-71ee7fd15457a0252c089420b5b66de266dcbd2f.tar.xz | |
Merge commit 'v1.7.0' into jc/checkout-reflog-fix
* commit 'v1.7.0': (4188 commits)
Git 1.7.0
Fix typo in 1.6.6.2 release notes
Re-fix check-ref-format documentation mark-up
archive documentation: attributes are taken from the tree by default
Documentation: minor fixes to RelNotes-1.7.0
bash: support 'git am's new '--continue' option
filter-branch: Fix error message for --prune-empty --commit-filter
am: switch --resolved to --continue
Update draft release notes to 1.7.0 one more time
Git 1.6.6.2
t8003: check exit code of command and error message separately
check-ref-format documentation: fix enumeration mark-up
Documentation: quote braces in {upstream} notation
t3902: Protect against OS X normalization
blame: prevent a segv when -L given start > EOF
git-push: document all the status flags used in the output
Fix parsing of imap.preformattedHTML and imap.sslverify
git-add documentation: Fix shell quoting example
Revert "pack-objects: fix pack generation when using pack_size_limit"
archive: simplify archive format guessing
...
Diffstat (limited to 'diffcore-delta.c')
| -rw-r--r-- | diffcore-delta.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/diffcore-delta.c b/diffcore-delta.c index e670f85125..7cf431d261 100644 --- 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; + la += d->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; @@ -213,6 +218,10 @@ int diffcore_count_changes(struct diff_filespec *src, sc += dst_cnt; s++; } + while (d->cnt) { + la += d->cnt; + d++; + } if (!src_count_p) free(src_count); |
