- 15 Jan, 2013 12 commits
-
-
Russell Belfer committed
-
This makes tree iterators directly support case insensitivity by using a secondary index that can be sorted by icase. Also, this fixes the ambiguity check in the git_status_file API to also be case insensitive. Lastly, this adds new test cases for case insensitive range boundary checking for all types of iterators. With this change, it should be possible to deprecate the spool and sort iterator, but I haven't done that yet.
Russell Belfer committed -
This adds a new external API git_tree_entry_cmp and a new internal API git_tree_entry_icmp for sorting tree entries. The case insensitive one is internal only because general users should never be seeing case-insensitively sorted trees.
Russell Belfer committed -
This adds git_path_icmp to complement git_path_cmp.
Russell Belfer committed -
git__bsearch and git__tsort did not pass a payload through to the comparison function. This makes it impossible to implement sorted lists where the sort order depends on external data (e.g. building a secondary sort order for the entries in a tree). This commit adds git__bsearch_r and git__tsort_r versions that pass a third parameter to the cmp function of a user payload.
Russell Belfer committed -
This adds a test that confirms that the working directory iterator can actually correctly process ranges of files case insensitively with proper sorting and proper boundaries.
Russell Belfer committed -
This changes the iterator API so that flags can be passed in to the constructor functions to control the ignore_case behavior. At this point, the flags are not supported on tree iterators (i.e. there is no functional change over the old API), but the API changes are all made to accomodate this. By the way, I went with a flags parameter because in the future I have a couple of other ideas for iterator flags that will make it easier to fix some diff/status/checkout bugs.
Russell Belfer committed -
Returning GIT_EAMBIGUOUS from inside the status callback gets overridden with GIT_EUSER. `git_status_file` accounted for this via the callback payload, but was allowing the error message to be cleared. Move the `giterr_set` call outside the callback to where the EUSER case was being dealt with.
Russell Belfer committed -
In preparation for further iterator changes, this cleans up a few small things in the iterator API: * removed the git_iterator_for_repo_index_range API * made git_iterator_free not be inlined * minor param name and test function name tweaks
Russell Belfer committed -
Russell Belfer committed
-
nulltoken committed
-
checkout: Teach checkout to cope with orphaned Head
Russell Belfer committed
-
- 14 Jan, 2013 1 commit
-
-
Some fixes for external template support
Russell Belfer committed
-
- 13 Jan, 2013 5 commits
-
-
Before, it was identical to the default template making it difficult to check, if the proper template was copied an external template test.
Sebastian Bauer committed -
been properly copied. This is a minimal effort to test whether the template really has been used when creating an repo with external templates.
Sebastian Bauer committed -
This is an intermin solution. While this essentially disables the --shared flag feature, previously external templates did not work at all. This change fixes the previously corrected, and since then failing, repo_init__extended_with_template() test. The problem is now documented in the source code comments.
Sebastian Bauer committed -
nulltoken committed
-
Fix #1236
nulltoken committed
-
- 12 Jan, 2013 11 commits
-
-
Sebastian Bauer committed
-
The offset should be git_off_t, and we should check the return value of the mutex lock function.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
The indexer needs to call the packfile's free function so it takes care of freeing the caches. We still need to close the mwf descriptor manually so we can rename the packfile into its final name on Windows.
Carlos Martín Nieto committed -
Otherwise the template functionallity is not tested (as a TODO we also shall test that the specified template really got copied).
Sebastian Bauer committed -
Switch to specified branch during clone
Vicent Martí committed -
Sascha Cunz committed
-
Vicent Marti committed
-
Fixes #1232
Ben Straub committed -
Add a failing test for CRLF filters
Philip Kelley committed -
Philip Kelley committed
-
- 11 Jan, 2013 11 commits
-
-
Sascha Cunz committed
-
Sascha Cunz committed
-
This adds a git_buf_text_is_binary check to blobs before applying filters when the blob data is being written to disk.
Russell Belfer committed -
Match binary file check of core git in diff
Vicent Martí committed -
Fix diff patch line number calculation
Vicent Martí committed -
Core git just looks for NUL bytes in files when deciding about is-binary inside diff (although it uses a better algorithm in checkout, when deciding if CRLF conversion should be done). Libgit2 was using the better algorithm in both places, but that is causing some confusion. For now, this makes diff just look for NUL bytes to decide if a file is binary by content in diff.
Russell Belfer committed -
This was just wrong. Added a test that verifying patch line numbers even for hunks further into a file and then fixed the algorithm. I needed to add a little extra state into the patch so that I could track old and new file numbers independently, but it should be okay.
Russell Belfer committed -
This reverts commit f289f886, which makes the tests fail on Windows. Revert until we can figure out a solution.
Carlos Martín Nieto committed -
Introduce EMERGECONFLICT
Vicent Martí committed -
nulltoken committed
-
nulltoken committed
-