git-commit-vandalism/builtin
Junio C Hamano 5de7166d46 apply.c:update_pre_post_images(): the preimage can be truncated
5166714 (apply: Allow blank context lines to match beyond EOF,
2010-03-06) and then later 0c3ef98 (apply: Allow blank *trailing*
context lines to match beyond EOF, 2010-04-08) taught "git apply"
to trim new blank lines at the end in the patch text when matching
the contents being patched and the preimage recorded in the patch,
under --whitespace=fix mode.

When a preimage is modified to match the current contents in
preparation for such a "fixed" patch application, the context lines
in the postimage must be updated to match (otherwise, it would
reintroduce whitespace breakages), and update_pre_post_images()
function is responsible for doing this.  However, this function was
not updated to take into account a case where the removal of
trailing blank lines reduces the number of lines in the preimage,
and triggered an assertion error.

The logic to fix the postimage by copying the corrected context
lines from the preimage was not prepared to handle this case,
either, but it was protected by the assert() and only got exposed
when the assertion is corrected.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-12 16:06:49 -07:00
..
add.c Merge branch 'ar/clone-honor-umask-at-top' into maint 2012-07-22 13:04:05 -07:00
annotate.c
apply.c apply.c:update_pre_post_images(): the preimage can be truncated 2012-10-12 16:06:49 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
branch.c branch: remove lego in i18n tracking info strings 2012-05-04 09:12:24 -07:00
bundle.c
cat-file.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
check-attr.c
check-ref-format.c
checkout-index.c checkout-index: remove obsolete comment 2011-08-17 10:39:47 -07:00
checkout.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
clean.c
clone.c Merge branch 'ar/clone-honor-umask-at-top' into maint 2012-07-22 13:04:05 -07:00
column.c Add column layout skeleton and git-column 2012-04-27 09:26:37 -07:00
commit-tree.c Merge branch 'kk/maint-1.7.9-commit-tree' into kk/maint-commit-tree 2012-07-17 13:10:49 -07:00
commit.c split_ident_line(): make best effort when parsing author/committer line 2012-08-31 14:54:18 -07:00
config.c config: "git config baa" should exit with status 1 2012-07-30 08:51:26 -07:00
count-objects.c
describe.c
diff-files.c
diff-index.c
diff-tree.c
diff.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
fast-export.c Merge branch 'js/fast-export-paths-with-spaces' into maint 2012-07-22 13:00:45 -07:00
fetch-pack.c Merge branch 'jk/fetch-pack-remove-dups-optim' 2012-05-29 13:09:08 -07:00
fetch.c Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint 2012-05-03 15:29:25 -07:00
fmt-merge-msg.c Merge branch 'jc/fmt-merge-msg-people' 2012-06-12 08:33:30 -07:00
for-each-ref.c for-each-ref: Fix sort with multiple keys 2012-08-21 14:42:12 -07:00
fsck.c
gc.c gc: use argv-array for sub-commands 2012-04-18 16:17:42 -07:00
grep.c Merge branch 'mm/verify-filename-fix' into maint 2012-07-11 12:45:49 -07:00
hash-object.c
help.c Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
index-pack.c index-pack: Disable threading on cygwin 2012-06-26 14:23:03 -07:00
init-db.c
log.c log: fix --quiet synonym for -s 2012-08-28 15:37:29 -07:00
ls-files.c path_excluded(): update API to less cache-entry centric 2012-06-05 21:22:36 -07:00
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c
merge-base.c
merge-file.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
merge-index.c
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c
pack-objects.c pack-objects: refactor write_object() into helper functions 2012-05-18 14:22:15 -07:00
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c
prune.c
push.c Merge branch 'ct/advise-push-default' into maint 2012-05-11 11:18:43 -07:00
read-tree.c
receive-pack.c receive-pack: do not leak output from auto-gc to standard output 2012-08-06 22:31:10 -07:00
reflog.c
remote-ext.c
remote-fd.c
remote.c remote: fix typo 2012-05-20 18:48:10 -07:00
replace.c
rerere.c
reset.c verify_filename(): ask the caller to chose the kind of diagnosis 2012-06-18 15:21:42 -07:00
rev-list.c Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
rev-parse.c specifying ranges: we did not mean to make ".." an empty set 2012-08-23 14:37:49 -07:00
revert.c Merge branch 'cc/fix-missing-va-end-in-revert' into maint 2012-05-10 10:32:43 -07:00
rm.c
send-pack.c teach send-pack about --[no-]progress 2012-05-01 09:40:30 -07:00
shortlog.c
show-branch.c
show-ref.c
stripspace.c
symbolic-ref.c
tag.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
update-index.c Merge branch 'hv/submodule-update-nuke-submodules' into maint 2012-07-11 12:46:31 -07:00
update-ref.c
update-server-info.c
upload-archive.c
var.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
verify-pack.c
verify-tag.c
write-tree.c