- 09 Aug, 2013 6 commits
-
-
The routines to push and pop ignore files while traversing a directory had some issues. In particular, setting up the initial list would sometimes push an ignore file before it ought to be applied if the starting path was a directory containing an ignore file. Also, the pop function was not always matching the right part of the path and would fail to pop ignores from the list in some cases. This adds some tests that exercise a particular problematic case and then fixes the problems that I could find related to this. At some point, I'd like to isolate this ignore rule management code and rewrite it, but that's a larger project and right now, I'll opt to just try to fix the broken behaviors.
Russell Belfer committed -
Revert PR #1462 and provide alternative fix
Russell Belfer committed -
Russell Belfer committed
-
This rolls back the changes to fnmatch parsing from commit 2e40a60e except for the tests that were added. Instead this adds couple of new flags that can be passed in when attempting to parse an fnmatch pattern. Also, this changes the pathspec match logic to special case matching a filename with a '!' prefix against a negative pattern. This fixes the build.
Russell Belfer committed -
Add rename from rewrites to status
Russell Belfer committed -
status: fix handling of filenames with special prefixes
Russell Belfer committed
-
- 08 Aug, 2013 6 commits
-
-
config: allow setting empty string as value
Russell Belfer committed -
`git_config_set_string(config, "config.section", "")` fails when escaping the value. The buffer in `escape_value` is allocated without NULL-termination. And in case of empty string 0 is passed for buffer size in `git_buf_grow`. `git_buf_detach` returns NULL when the allocated size is 0 and that leads to an error return in `GITERR_CHECK_ALLOC` called after `escape_value` The change in `config_file.c` was suggested by Russell Belfer <rb@github.com>
Nikolai Vladimirov committed -
Add API for getting at git_diff_patch->content_size
Ben Straub committed -
Rename detection slow
Ben Straub committed -
odb_pack: handle duplicate objects from different packs
Russell Belfer committed -
This is based on 24634c6f. This also corrects an issue with error codes being mixed up with the number of found objects.
Brodie Rao committed
-
- 07 Aug, 2013 2 commits
-
-
Parse config headers with quoted quotes
Russell Belfer committed -
Parse config headers that have the last quote on the line quoted instead of walking off the end.
Edward Thomson committed
-
- 06 Aug, 2013 2 commits
-
-
More tests for ambiguous OIDs across packs
Russell Belfer committed -
The test coverage for ambiguous OIDs was pretty thin. This adds a bunch of new objects both in packs, across packs, and loose that match to 8 characters so that we can test various cases of ambiguous lookups.
Russell Belfer committed
-
- 05 Aug, 2013 5 commits
-
-
submodule: check alloc and name presence
Russell Belfer committed -
In git_diff_paired_foreach, temporarily resort the index->workdir diff list by index path so that we can track a rename in the workdir from head->index->workdir.
Edward Thomson committed -
Nikolai Vladimirov committed
-
Fixes #1762
Russell Belfer committed -
Create a new section of clar tests "stress" that will default to being off where we can put slow tests that push the library for performance testing purposes.
Russell Belfer committed
-
- 04 Aug, 2013 4 commits
-
-
This restores the commented out tests (even though they're slow) and fixes some trailing whitespace.
Russell Belfer committed -
A rename test that illustrates a rename from a rewrite.
Edward Thomson committed -
When using a rename source that is actually a to-be-split record, we have to update the best-fit mapping data in both the case where the target is also a split record and the case where the target is a simple added record. Before this commit, we were only doing the update when the target was itself a split record (and even in that case, the test was slightly wrong).
Russell Belfer committed -
A rename test that illustrates a source matching multiple targets.
Edward Thomson committed
-
- 31 Jul, 2013 3 commits
-
-
After doing further profiling, I found that a lot of time was being spent attempting to insert hashes into the file hash signature when using the rolling hash because the rolling hash approach generates a hash per byte of the file instead of one per run/line of data. To optimize this, I decided to convert back to a run-based file signature algorithm which would be more like core Git. After changing this, a number of the existing tests started to fail. In some cases, this appears to have been because the test was coded to be too specific to the particular results of the file similarity metric and in some cases there appear to have been bugs in the core rename detection code where only by the coincidence of the file similarity scoring were the expected results being generated. This renames all the variables in the core rename detection code to be more consistent and hopefully easier to follow which made it a bit easier to reason about the behavior of that code and fix the problems that I was seeing. I think it's in better shape now. There are a couple of tests now that attempt to stress test the rename detection code and they are quite slow. Most of the time is spent setting up the test data on disk and in the index. When we roll out performance improvements for index insertion, it should also speed up these tests I hope.
Russell Belfer committed -
Allow Makefile.embed to be used when cross-compiling
Carlos Martín Nieto committed -
This option is already present in the CMake config, but was missing from `Makefile.embed` and would cause all kinds of weird failures when compiling rugged on windows with the ruby devkit.
Arthur Schreiber committed
-
- 28 Jul, 2013 2 commits
-
-
Fix possible double close
Ben Straub committed -
Fix -n bug; default to all ancestors
Vicent Martí committed
-
- 27 Jul, 2013 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 26 Jul, 2013 2 commits
-
-
Brendan Macmillan committed
-
Russell Belfer committed
-
- 25 Jul, 2013 5 commits
-
-
The size data in the index may not reflect the actual size of the blob data from the ODB when content filtering comes into play. This commit fixes rename detection to use the actual blob size when calculating data signatures instead of the value from the index. Because of a misunderstanding on my part, I first converted the git_index_add_bypath API to use the post-filtered blob data size in creating the index entry. I backed that change out, but I kept the overall refactoring of that routine and the new internal git_blob__create_from_paths API because it eliminates an extra stat() call from the code that adds a file to the index. The existing tests actually cover this code path, at least when running on Windows, so at this point I'm not adding new tests to cover the changes.
Russell Belfer committed -
Close p->mwf.fd only if necessary
Vicent Martí committed -
This fixes a regression introduced in revision 9d2f841a. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed -
The previous fix for checking file sizes with rename detection always loads the blob. In this version, if the odb backend can get the object header without loading the whole thing into memory, then we'll just use that, so that we can eliminate possible rename sources & targets without loading them.
Russell Belfer committed -
The performance improvements I introduced for rename detection were not able to run successfully for tree-to-tree diffs because the blob size was not known early enough and so the file signature always had to be calculated nonetheless. This change separates loading blobs into memory from calculating the signature. I can't avoid having to load the large blobs into memory, but by moving it forward, I'm able to avoid the signature calculation if the blob won't come into play for renames.
Russell Belfer committed
-
- 24 Jul, 2013 2 commits
-
-
This allows libgit2 to be cross-compiled (e.g. when building native rugged binaries for windows from Linux or OS X). ``` CROSS_COMPILE=i686-w64-mingw32 make -f Makefile.embed ```
Arthur Schreiber committed -
Russell Belfer committed
-