Revision a4882c27f8b3793d94b03fd503a0c67ad9772cf6 authored by Junio C Hamano on 15 August 2007, 21:12:14 UTC, committed by Junio C Hamano on 15 August 2007, 21:21:23 UTC
This applies to 'maint' to fix a rather serious data corruption
issue.  When "git add -u" affects a subdirectory in such a way
that the only changes to its contents are path removals, the
next tree object written out of that index was bogus, as the
remove codepath forgot to invalidate the cache-tree entry.

Reported by Salikh Zakirov.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 9396943
History
File Mode Size
t3900
t4013
t4100
t4101
t5100
t5515
t9110
t9111
.gitignore -rw-r--r-- 6 bytes
Makefile -rw-r--r-- 627 bytes
README -rw-r--r-- 6.7 KB
annotate-tests.sh -rw-r--r-- 3.3 KB
diff-lib.sh -rw-r--r-- 1.4 KB
lib-git-svn.sh -rw-r--r-- 933 bytes
lib-read-tree-m-3way.sh -rw-r--r-- 4.1 KB
t0000-basic.sh -rwxr-xr-x 10.4 KB
t0010-racy-git.sh -rwxr-xr-x 609 bytes
t0020-crlf.sh -rwxr-xr-x 5.5 KB
t0021-conversion.sh -rwxr-xr-x 2.1 KB
t1000-read-tree-m-3way.sh -rwxr-xr-x 16.3 KB
t1001-read-tree-m-2way.sh -rwxr-xr-x 10.2 KB
t1002-read-tree-m-u-2way.sh -rwxr-xr-x 11.0 KB
t1003-read-tree-prefix.sh -rwxr-xr-x 412 bytes
t1004-read-tree-m-u-wf.sh -rwxr-xr-x 2.9 KB
t1020-subdirectory.sh -rwxr-xr-x 2.9 KB
t1100-commit-tree-options.sh -rwxr-xr-x 1.1 KB
t1200-tutorial.sh -rwxr-xr-x 4.0 KB
t1300-repo-config.sh -rwxr-xr-x 10.0 KB
t1400-update-ref.sh -rwxr-xr-x 7.7 KB
t1410-reflog.sh -rwxr-xr-x 3.2 KB
t2000-checkout-cache-clash.sh -rwxr-xr-x 1.2 KB
t2001-checkout-cache-clash.sh -rwxr-xr-x 2.4 KB
t2002-checkout-cache-u.sh -rwxr-xr-x 740 bytes
t2003-checkout-cache-mkdir.sh -rwxr-xr-x 2.5 KB
t2004-checkout-cache-temp.sh -rwxr-xr-x 5.5 KB
t2005-checkout-index-symlinks.sh -rwxr-xr-x 681 bytes
t2007-checkout-symlink.sh -rwxr-xr-x 866 bytes
t2100-update-cache-badpath.sh -rwxr-xr-x 1.0 KB
t2101-update-index-reupdate.sh -rwxr-xr-x 2.1 KB
t2102-update-index-symlinks.sh -rwxr-xr-x 804 bytes
t2200-add-update.sh -rwxr-xr-x 1.4 KB
t3000-ls-files-others.sh -rwxr-xr-x 1.1 KB
t3001-ls-files-others-exclude.sh -rwxr-xr-x 1.5 KB
t3002-ls-files-dashpath.sh -rwxr-xr-x 1.2 KB
t3010-ls-files-killed-modified.sh -rwxr-xr-x 2.0 KB
t3020-ls-files-error-unmatch.sh -rwxr-xr-x 650 bytes
t3030-merge-recursive.sh -rwxr-xr-x 10.1 KB
t3040-subprojects-basic.sh -rwxr-xr-x 2.4 KB
t3100-ls-tree-restrict.sh -rwxr-xr-x 3.6 KB
t3101-ls-tree-dirname.sh -rwxr-xr-x 3.7 KB
t3200-branch.sh -rwxr-xr-x 6.5 KB
t3210-pack-refs.sh -rwxr-xr-x 2.7 KB
t3300-funny-names.sh -rwxr-xr-x 4.1 KB
t3400-rebase.sh -rwxr-xr-x 902 bytes
t3401-rebase-partial.sh -rwxr-xr-x 1.5 KB
t3402-rebase-merge.sh -rwxr-xr-x 2.1 KB
t3403-rebase-skip.sh -rwxr-xr-x 1.3 KB
t3500-cherry.sh -rwxr-xr-x 1.5 KB
t3501-revert-cherry-pick.sh -rwxr-xr-x 1.1 KB
t3600-rm.sh -rwxr-xr-x 4.7 KB
t3700-add.sh -rwxr-xr-x 2.7 KB
t3800-mktag.sh -rwxr-xr-x 4.5 KB
t3900-i18n-commit.sh -rwxr-xr-x 2.5 KB
t3901-8859-1.txt -rwxr-xr-x 153 bytes
t3901-i18n-patch.sh -rwxr-xr-x 6.2 KB
t3901-utf8.txt -rwxr-xr-x 155 bytes
t4000-diff-format.sh -rwxr-xr-x 1.0 KB
t4001-diff-rename.sh -rwxr-xr-x 1.0 KB
t4002-diff-basic.sh -rwxr-xr-x 14.5 KB
t4003-diff-rename-1.sh -rwxr-xr-x 4.0 KB
t4004-diff-rename-symlink.sh -rwxr-xr-x 1.5 KB
t4005-diff-rename-2.sh -rwxr-xr-x 2.8 KB
t4006-diff-mode.sh -rwxr-xr-x 1002 bytes
t4007-rename-3.sh -rwxr-xr-x 2.7 KB
t4008-diff-break-rewrite.sh -rwxr-xr-x 5.9 KB
t4009-diff-rename-4.sh -rwxr-xr-x 2.8 KB
t4010-diff-pathspec.sh -rwxr-xr-x 1.8 KB
t4011-diff-symlink.sh -rwxr-xr-x 1.7 KB
t4012-diff-binary.sh -rwxr-xr-x 2.2 KB
t4013-diff-various.sh -rwxr-xr-x 7.2 KB
t4014-format-patch.sh -rwxr-xr-x 2.0 KB
t4015-diff-whitespace.sh -rwxr-xr-x 1.9 KB
t4016-diff-quote.sh -rwxr-xr-x 1.8 KB
t4017-diff-retval.sh -rwxr-xr-x 1.8 KB
t4017-quiet.sh -rwxr-xr-x 2.1 KB
t4020-diff-external.sh -rwxr-xr-x 1.9 KB
t4100-apply-stat.sh -rwxr-xr-x 1.2 KB
t4101-apply-nonl.sh -rwxr-xr-x 548 bytes
t4102-apply-rename.sh -rwxr-xr-x 1.1 KB
t4103-apply-binary.sh -rwxr-xr-x 2.9 KB
t4104-apply-boundary.sh -rwxr-xr-x 2.3 KB
t4109-apply-multifrag.sh -rwxr-xr-x 2.7 KB
t4110-apply-scan.sh -rwxr-xr-x 1.3 KB
t4112-apply-renames.sh -rwxr-xr-x 2.8 KB
t4113-apply-ending.sh -rwxr-xr-x 661 bytes
t4114-apply-typechange.sh -rwxr-xr-x 2.5 KB
t4115-apply-symlink.sh -rwxr-xr-x 773 bytes
t4116-apply-reverse.sh -rwxr-xr-x 1.7 KB
t4117-apply-reject.sh -rwxr-xr-x 2.5 KB
t4118-apply-empty-context.sh -rwxr-xr-x 977 bytes
t4119-apply-config.sh -rwxr-xr-x 3.0 KB
t4120-apply-popt.sh -rwxr-xr-x 386 bytes
t4121-apply-diffs.sh -rwxr-xr-x 557 bytes
t4122-apply-symlink-inside.sh -rwxr-xr-x 1012 bytes
t4200-rerere.sh -rwxr-xr-x 3.6 KB
t4201-shortlog.sh -rwxr-xr-x 1.5 KB
t5000-tar-tree.sh -rwxr-xr-x 3.8 KB
t5100-mailinfo.sh -rwxr-xr-x 584 bytes
t5300-pack-object.sh -rwxr-xr-x 6.9 KB
t5301-sliding-window.sh -rwxr-xr-x 1.7 KB
t5302-pack-index.sh -rwxr-xr-x 5.2 KB
t5400-send-pack.sh -rwxr-xr-x 2.8 KB
t5401-update-hooks.sh -rwxr-xr-x 3.6 KB
t5500-fetch-pack.sh -rwxr-xr-x 4.0 KB
t5502-quickfetch.sh -rwxr-xr-x 1.4 KB
t5510-fetch.sh -rwxr-xr-x 3.2 KB
t5515-fetch-merge-logic.sh -rwxr-xr-x 4.2 KB
t5520-pull.sh -rwxr-xr-x 1002 bytes
t5600-clone-fail-cleanup.sh -rwxr-xr-x 1.1 KB
t5700-clone-reference.sh -rwxr-xr-x 2.3 KB
t5701-clone-local.sh -rwxr-xr-x 746 bytes
t5710-info-alternate.sh -rwxr-xr-x 2.2 KB
t6000lib.sh -rwxr-xr-x 2.6 KB
t6001-rev-list-graft.sh -rwxr-xr-x 2.3 KB
t6002-rev-list-bisect.sh -rwxr-xr-x 8.2 KB
t6003-rev-list-topo-order.sh -rwxr-xr-x 8.5 KB
t6004-rev-list-path-optim.sh -rwxr-xr-x 1.2 KB
t6005-rev-list-count.sh -rwxr-xr-x 1.7 KB
t6006-rev-list-format.sh -rwxr-xr-x 3.6 KB
t6010-merge-base.sh -rwxr-xr-x 2.5 KB
t6020-merge-df.sh -rwxr-xr-x 528 bytes
t6021-merge-criss-cross.sh -rwxr-xr-x 1.2 KB
t6022-merge-rename.sh -rwxr-xr-x 7.9 KB
t6023-merge-file.sh -rwxr-xr-x 3.5 KB
t6023-merge-rename-nocruft.sh -rwxr-xr-x 3.6 KB
t6024-recursive-merge.sh -rwxr-xr-x 2.3 KB
t6025-merge-symlinks.sh -rwxr-xr-x 1.5 KB
t6026-merge-attr.sh -rwxr-xr-x 2.7 KB
t6030-bisect-porcelain.sh -rwxr-xr-x 2.6 KB
t6101-rev-parse-parents.sh -rwxr-xr-x 1.6 KB
t6120-describe.sh -rwxr-xr-x 1.9 KB
t6200-fmt-merge-msg.sh -rwxr-xr-x 2.5 KB
t7001-mv.sh -rwxr-xr-x 3.0 KB
t7002-grep.sh -rwxr-xr-x 1.9 KB
t7101-reset.sh -rwxr-xr-x 1.4 KB
t7201-co.sh -rwxr-xr-x 4.7 KB
t7300-clean.sh -rwxr-xr-x 3.4 KB
t8001-annotate.sh -rwxr-xr-x 343 bytes
t8002-blame.sh -rwxr-xr-x 111 bytes
t8003-blame.sh -rwxr-xr-x 2.1 KB
t9001-send-email.sh -rwxr-xr-x 1.0 KB
t9100-git-svn-basic.sh -rwxr-xr-x 7.5 KB
t9101-git-svn-props.sh -rwxr-xr-x 3.7 KB
t9102-git-svn-deep-rmdir.sh -rwxr-xr-x 783 bytes
t9104-git-svn-follow-parent.sh -rwxr-xr-x 6.0 KB
t9105-git-svn-commit-diff.sh -rwxr-xr-x 1.1 KB
t9106-git-svn-commit-diff-clobber.sh -rwxr-xr-x 1.8 KB
t9107-git-svn-migrate.sh -rwxr-xr-x 4.2 KB
t9108-git-svn-glob.sh -rwxr-xr-x 2.9 KB
t9110-git-svn-use-svm-props.sh -rwxr-xr-x 1.6 KB
t9111-git-svn-use-svnsync-props.sh -rwxr-xr-x 1.6 KB
t9112-git-svn-md5less-file.sh -rwxr-xr-x 907 bytes
t9200-git-cvsexportcommit.sh -rwxr-xr-x 8.3 KB
t9300-fast-import.sh -rwxr-xr-x 12.9 KB
t9400-git-cvsserver-server.sh -rwxr-xr-x 3.8 KB
test-lib.sh -rw-r--r-- 6.1 KB
test4012.png -rw-r--r-- 5.5 KB
test9200a.png -rw-r--r-- 5.5 KB
test9200b.png -rw-r--r-- 275 bytes

README

back to top