- 17 Jun, 2013 22 commits
-
-
Russell Belfer committed
-
This fixes a couple objects I forgot to free, and also updates the valgrind suppressions file on the Mac to cover a few more cases that had crept in.
Russell Belfer committed -
A tree to index rename with no changes was getting erased by the iteration routine (if the routine actually loaded the data for the unmodified file). This invokes the code path that was previously messing up the diff and iterates twice to make sure that the iteration process itself doesn't modify the data.
Russell Belfer committed -
This changes the behavior of the status RENAMED flags so that they will be combined with the MODIFIED flags if appropriate. If a file is modified in the index and also renamed, then the status code will have both the GIT_STATUS_INDEX_MODIFIED and INDEX_RENAMED bits set. If it is renamed but the OID has not changed, then just the GIT_STATUS_INDEX_RENAMED bit will be set. Similarly, the flags GIT_STATUS_WT_MODIFIED and GIT_STATUS_WT_RENAMED can both be set independently of one another. This fixes a serious bug where the check for unmodified files that was done at data load time could end up erasing the RENAMED state of a file that was renamed with no changes. Lastly, this contains a bunch of new tests for status with renames, including tests where the only rename changes are case changes. The expected results of these tests have to vary by whether the platform uses a case sensitive filesystem or not, so the expected data covers those platform differences separately.
Russell Belfer committed -
Russell Belfer committed
-
Trees are always case sensitive. The index is always case preserving and will be case sensitive when it is turned into a tree. Therefore the tree and the index can and should always be compared to one another case sensitively. This will restore the index to case insensitive order after the diff has been generated. Consider this a short-term fix. The long term fix is to have the index always stored both case sensitively and case insensitively (at least on platforms that sometimes require case insensitivity).
Russell Belfer committed -
In a case insensitive index, if you attempt to add a file from disk with a different case pattern, the old case pattern in the index should be preserved. This fixes that (and a couple of minor warnings).
Russell Belfer committed -
Edward Thomson committed
-
This commit reinstates some changes to git_diff__paired_foreach that were discarded during the rebase (because the diff_output.c file had gone away), and also adjusts the case insensitively logic slightly to hopefully deal with either mismatched icase diffs and other case insensitivity scenarios.
Russell Belfer committed -
This makes diff more careful about picking the canonical path when generating a delta so that it won't accidentally pick up a case-mismatched path on a case-insensitive file system. This should make sure we use the "most accurate" case correct version of the path (i.e. from the tree if possible, or the index if need be).
Russell Belfer committed -
The exclude submodules flag was not doing the right thing, in that a file with no diff between the head and the index and just a delete in the workdir could be excluded if submodules were excluded.
Russell Belfer committed -
This simplifies some documentation and hopefully makes a couple of things easier to read. Also, this rearrages the order in this branch so that the overall diff against the trunk will hopefully be a bit cleaner.
Russell Belfer committed -
Russell Belfer committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Vicent Marti committed
-
ref: free the last ref when cancelling git_branch_foreach()
Vicent Martí committed -
Also fixed an assert typo on nulltoken's HEAD
yorah committed -
Memzero stuffs
Vicent Martí committed -
yorah committed
-
On Linux: fix a warning message related to the volatile qualifier (cast) On Windows: use SecureZeroMemory() On both, inline the call, so that no entry point can lead back to this "secure" memory zeroing.
yorah committed
-
- 14 Jun, 2013 3 commits
-
-
Fix/build warnings
Vicent Martí committed -
yorah committed
-
yorah committed
-
- 13 Jun, 2013 2 commits
-
-
cmake: Add option to specify the name of the binary
Vicent Martí committed -
nulltoken committed
-
- 12 Jun, 2013 12 commits
-
-
This reverts commit 095bfd74.
Vicent Marti committed -
Vicent Marti committed
-
Vicent Marti committed
-
Fix Windows warnings and missing prototypes
Russell Belfer committed -
This fixes problems with missing function prototypes and 64-bit data issues on Windows.
Russell Belfer committed -
Keep data about source of similarity
Vicent Martí committed -
Diff code reorg plus function context in diff headers
Vicent Martí committed -
This makes the git_diff_patch definition private to diff_patch.c and fixes a number of other header file naming inconsistencies to use `git_` prefixes on functions and structures that are shared between files.
Russell Belfer committed -
This changes the size data to uint32_t, fixes the array growth logic to use a simple 1.5x multiplier, and uses a generic inline function for growing the array to make the git_array_alloc API feel more natural (i.e. it returns a pointer to the new item).
Russell Belfer committed -
This adds two new public APIs: git_diff_patch_from_blobs and git_diff_patch_from_blob_and_buffer, plus it refactors the code for git_diff_blobs and git_diff_blob_to_buffer so that they code is almost entirely shared between these APIs, and adds tests for the new APIs.
Russell Belfer committed -
Russell Belfer committed
-
This adds real tests for user-configured diff drivers and in the process found a bunch of bugs.
Russell Belfer committed
-
- 11 Jun, 2013 1 commit
-
-
Add high(est) config level for application specific config files
Vicent Martí committed
-