libgit2/libgit2 — pull request #1702 by ethomson (2013-07-03 15:21:40+00:00)
Title: Checkout merge

It would be great if checkout handled conflicts! Both when checking out creates a conflict into the index, and writing a conflict to disk when it exists in the index. Obviously this is not yet ready for merge, but I wanted to add this for visibility.

- [X] `git_checkout_index` can write the conflict data in the index to the working directory like core git does.
- [ ] `git_checkout_tree` merge capabilities to create conflicts (in the index) from conflict data
- [ ] Think about case sensitivity
- [ ] What happens when `GIT_CHECKOUT_UPDATE_ONLY` is specified when writing a conflicting file? What about when writing a conflicting file that was name conflicted and thus suffixed.
- [ ] Lots more tests
- [ ] Get rid of some quick & dirty TODOs.