]> git.proxmox.com Git - libgit2.git/commit - src/libgit2/status.c
Add complex checkout test and then fix checkout
authorRussell Belfer <rb@github.com>
Fri, 5 Oct 2012 22:56:57 +0000 (15:56 -0700)
committerRussell Belfer <rb@github.com>
Tue, 9 Oct 2012 18:59:34 +0000 (11:59 -0700)
commit0d64bef941928046d114c4da1acb70bd2907855e
tree4ae0ac6484c62b0a63ca44f937d67ba15f97d7f0
parentf3a04e0f49d0f46e578613d1c27161abc4c2bf22
Add complex checkout test and then fix checkout

This started as a complex new test for checkout going through the
"typechanges" test repository, but that revealed numerous issues
with checkout, including:

* complete failure with submodules
* failure to create blobs with exec bits
* problems when replacing a tree with a blob because the tree
  "example/" sorts after the blob "example" so the delete was
  being processed after the single file blob was created

This fixes most of those problems and includes a number of other
minor changes that made it easier to do that, including improving
the TYPECHANGE support in diff/status, etc.
27 files changed:
include/git2/checkout.h
include/git2/diff.h
include/git2/tree.h
src/checkout.c
src/clone.c
src/diff.c
src/diff_output.c
src/fileops.c
src/fileops.h
src/iterator.c
src/iterator.h
src/reflog.c
src/refs.c
src/status.c
src/tree.c
tests-clar/checkout/typechange.c [new file with mode: 0644]
tests-clar/core/copy.c
tests-clar/core/mkdir.c
tests-clar/core/rmdir.c
tests-clar/diff/iterator.c
tests-clar/object/blob/write.c
tests-clar/repo/discover.c
tests-clar/repo/open.c
tests-clar/resources/typechanges/.gitted/index
tests-clar/resources/typechanges/README.md
tests-clar/status/worktree.c
tests-clar/submodule/status.c