Log

Author Commit Date CI Message
Russell Belfer 71a3d27e 2013-02-08T10:06:47 Replace diff delta binary with flags Previously the git_diff_delta recorded if the delta was binary. This replaces that (with no net change in structure size) with a full set of flags. The flag values that were already in use for individual git_diff_file objects are reused for the delta flags, too (along with renaming those flags to make it clear that they are used more generally). This (a) makes things somewhat more consistent (because I was using a -1 value in the "boolean" binary field to indicate unset, whereas now I can just use the flags that are easier to understand), and (b) will make it easier for me to add some additional flags to the delta object in the future, such as marking the results of a copy/rename detection or other deltas that might want a special indicator. While making this change, I officially moved some of the flags that were internal only into the private diff header. This also allowed me to remove a gross hack in rename/copy detect code where I was overwriting the status field with an internal value.
Russell Belfer 9bc8be3d 2013-02-19T10:25:41 Refine pluggable similarity API This plugs in the three basic similarity strategies for handling whitespace via internal use of the pluggable API. In so doing, I realized that the use of git_buf in the hashsig API was not needed and actually just made it harder to use, so I tweaked that API as well. Note that the similarity metric is still not hooked up in the find_similarity code - this is just setting out the function that will be used.
Russell Belfer aa643260 2013-02-15T11:08:02 More tests of file signatures with whitespace opts Seems to be working pretty well...
Russell Belfer a235e9d3 2013-02-15T14:12:43 Pluggable similarity metric API
Russell Belfer 9c454b00 2013-01-11T22:13:02 Initial implementation of similarity scoring algo This adds a new `git_buf_text_hashsig` type and functions to generate these hash signatures and compare them to give a similarity score. This can be plugged into diff similarity scoring.
Russell Belfer 5e5848eb 2013-02-14T17:25:10 Change similarity metric to sampled hashes This moves the similarity metric code out of buf_text and into a new file. Also, this implements a different approach to similarity measurement based on a Rabin-Karp rolling hash where we only keep the top 100 and bottom 100 hashes. In theory, that should be sufficient samples to given a fairly accurate measurement while limiting the amount of data we keep for file signatures no matter how large the file is.
Russell Belfer 99ba8f23 2013-01-22T15:27:08 wip: adding metric to diff
Russell Belfer f3327cac 2013-01-13T10:06:09 Some similarity metric adjustments This makes the text similarity metric treat \r as equivalent to \n and makes it skip whitespace immediately following a line terminator, so line indentation will have less effect on the difference measurement (and so \r\n will be treated as just a single line terminator). This also separates the text and binary hash calculators into two separate functions instead of have more if statements inside the loop. This should make it easier to have more differentiated heuristics in the future if we so wish.
Vicent Martí f2e1d060 2013-02-20T12:00:51 Merge pull request #1351 from arrbee/moar-treebuilder-tests Add more treebuilder tests
Russell Belfer 0cfce06d 2013-02-20T11:58:21 Add more treebuilder tests The recent changes with git_treebuilder_entrycount point out that the test coverage for git_treebuilder_remove and git_treebuilder_entrycount is completely absent. This adds tests.
Vicent Martí 6ec37f72 2013-02-20T11:42:15 Merge pull request #1350 from arrbee/fix-1292 Add explicit entrycount to tree builder
Russell Belfer e2237179 2013-02-20T10:58:56 Some code cleanups in tree.c This replaces most of the explicit vector iteration with calls to git_vector_foreach, adds in some git__free and giterr_clear calls to clean up during some error paths, and a couple of other code simplifications.
Russell Belfer 93ab370b 2013-02-20T10:50:01 Store treebuilder length separately from entries vec The treebuilder entries vector flags removed items which means we can't rely on the entries vector length to accurately get the number of entries. This adds an entrycount value and maintains it while updating the treebuilder entries.
Russell Belfer f7511c2c 2013-02-20T10:19:58 Merge pull request #1348 from libgit2/signatures-2 Simplify signature parsing
Vicent Martí fd48d843 2013-02-20T10:07:14 Merge pull request #1349 from libgit2/clar-no-cache Disable caching in Clar
Vicent Marti 63964c89 2013-02-20T18:49:00 Disable caching in Clar
Vicent Marti cf80993a 2013-02-20T18:46:10 signature: Small cleanup
Vicent Marti 41051e3f 2013-02-20T17:09:51 signature: Shut up MSVC, you silly goose
Vicent Marti c51880ee 2013-02-20T17:03:18 Simplify signature parsing
Vicent Martí fd69c7bf 2013-02-17T02:41:58 Merge pull request #1344 from arrbee/fix-static-analyzer-issues Fix static analyzer issues
Russell Belfer 56543a60 2013-02-15T16:02:45 Clear up warnings from cppcheck The cppcheck static analyzer generates warnings for a bunch of places in the libgit2 code base. All the ones fixed in this commit are actually false positives, but I've reorganized the code to hopefully make it easier for static analysis tools to correctly understand the structure. I wouldn't do this if I felt like it was making the code harder to read or worse for humans, but in this case, these fixes don't seem too bad and will hopefully make it easier for better analysis tools to get at any real issues.
Russell Belfer 71d62d39 2013-02-15T16:01:31 Fix memory leak in p_getaddrinfo on Amiga If gethostbyname() fails on platforms with NO_ADDRINFO, the code leaks the struct addrinfo that was allocated. This fixes that (and a number of code formatting issues in that area of code in src/posix.c).
Russell Belfer a7ed7460 2013-02-15T15:58:13 Add rudimentary error checks and reformat comments There were a number of functions assigning their return value to `error` without much explanation. I added in some rudimentary error checking to help flesh out the example. Also, I reformatted all of the comments down to 80 cols (and in some cases, slightly updated the wording).
Vicent Martí 1d75acf7 2013-02-15T04:21:41 Merge pull request #1342 from ghedo/development push: fix typo in git_push_finish() doc
Alessandro Ghedini 91f7335e 2013-02-15T13:12:03 push: fix typo in git_push_finish() doc
Vicent Martí fcd7733d 2013-02-14T12:49:46 Merge pull request #1318 from nulltoken/topic/diff-tree-coverage Topic/diff tree coverage
Vicent Martí c9d17120 2013-02-14T11:33:47 Merge pull request #1340 from schu/push-docs push: improve docs on success / failure of git_push_finish
Michael Schubert a53b5e5f 2013-02-14T20:20:18 push: improve docs on success / failure of git_push_finish
Ben Straub a9e1339c 2013-02-14T08:12:05 Fix a leak when canceling a network operation
Philip Kelley 2fe67aeb 2013-02-14T08:46:58 Fix a git_filebuf leak (fixes Win32 clone::can_cancel)
Vicent Martí b7860025 2013-02-14T03:58:11 Merge pull request #1335 from phkelley/development Improve MSVC compiler, linker flags
Philip Kelley 5f633e91 2013-02-13T18:12:51 Change git2.rc to identify git.dll as VOS_NT_WINDOWS32
Philip Kelley 19be3f9e 2013-02-13T12:36:41 Improve MSVC compiler, linker flags
Ben Straub 6a0ffe84 2013-02-12T10:50:55 Merge pull request #1333 from phkelley/push_options Add git_push_options, to set packbuilder parallelism
Russell Belfer fbe67de9 2013-02-12T10:16:30 Merge pull request #1246 from arrbee/fix-force-text-for-diff-blobs Add FORCE_TEXT check into git_diff_blobs code path
Russell Belfer 9c258af0 2013-02-12T10:13:56 Merge pull request #1316 from ben/clone-cancel Allow network operations to cancel
Russell Belfer c2c0874d 2013-02-11T14:44:56 More diff tests with binary data
Russell Belfer ed55fd8b 2013-02-11T13:29:07 Reorganize FORCE_TEXT diff flag checks
Russell Belfer c2907575 2013-01-15T09:24:17 Add FORCE_TEXT check into git_diff_blobs code path `git_diff_blobs` and `git_diff_blob_to_buffer` skip the step where we check file attributes because they don't have a filename associated with the data. Unfortunately, this meant they were also skipping the check for the GIT_DIFF_FORCE_TEXT option and so you could not force a diff of an apparent binary file. This adds the force text check into their code path.
Russell Belfer 40a60510 2013-02-11T14:35:41 Merge pull request #1324 from nulltoken/topic/remote_isvalidname Topic/remote isvalidname
nulltoken 2bca5b67 2013-02-07T23:44:18 remote: Introduce git_remote_is_valid_name() Fix libgit2/libgit2sharp#318
nulltoken 4d811c3b 2013-02-07T23:40:10 refs: No component of a refname can end with '.lock'
nulltoken 624924e8 2013-02-07T23:02:56 remote: reorganize tests
Russell Belfer 390a3c81 2013-02-11T11:44:00 Merge pull request #1190 from nulltoken/topic/reset-paths reset: Allow the selective reset of pathspecs
Philip Kelley e026cfee 2013-02-11T09:12:39 Merge pull request #1323 from jamill/resolve_remote Resolve a remote branch's remote
Jameson Miller db4bb415 2013-02-07T14:53:52 Teach refspec to transform destination reference to source reference
Jameson Miller 2e3e8c88 2013-02-08T11:05:47 Teach remote branch to return its remote
Philip Kelley b8b897bb 2013-02-11T08:28:53 Add git_push_options, to set packbuilder parallelism
Philip Kelley 8c29dca6 2013-02-11T09:25:57 Fix some incorrect MSVC #ifdef's. Fixes #1305
Philip Kelley a150cc87 2013-02-10T18:16:10 Fix a bug introduced in df93a681 'Merge the push...'
Michael Schubert a9d081e5 2013-02-10T19:36:39 Fix -Wmaybe-uninitialized warning
Vicent Martí 70ecec1a 2013-02-08T23:47:38 Merge pull request #1320 from cscheid/development removed other references to api.html
Vicent Martí 276c89a8 2013-02-08T23:46:53 Merge pull request #1327 from phkelley/development Merge the push report into the refs to avoid a 3rd network call
Scott J. Goldman 6ce61a0b 2013-02-08T14:25:41 tests: fix whitespace in refs/rename.c
Philip Kelley df93a681 2013-02-08T15:00:08 Merge the push report into the refs to avoid a 3rd network call
Jameson Miller ff9df883 2013-02-08T14:27:21 Fix Windows symlinks
Russell Belfer f3e49210 2013-02-08T10:02:37 Merge pull request #1249 from yorah/topic/diff-notify-unmatched-pathspecs diff: Add a callback to notify of diffed files
Vicent Martí 5b62eb7d 2013-02-08T02:50:23 Merge pull request #1325 from SHyx0rmZ/fix-windows-symlinks Fix Windows symlinks
Patrick Pokatilo 7672c8c7 2013-02-08T11:29:23 Moved braces to conform to code style
Patrick Pokatilo 64012fdb 2013-02-08T03:24:45 Replace LoadLibrary with GetModuleHandle, since kernel32 is loaded by default As requested
Patrick Pokatilo a49e5bed 2013-02-08T01:26:04 Replace call to strnlen with call to strlen
Patrick Pokatilo f88885e3 2013-02-08T01:10:03 Include <string.h>
Patrick Pokatilo 3b5e44ae 2013-02-08T00:50:20 Fix call to readlink
yorah 0d64ba48 2013-01-25T17:35:46 diff: add a notify callback to `git_diff__from_iterators` The callback will be called for each file, just before the `git_delta_t` gets inserted into the diff list. When the callback: - returns < 0, the diff process will be aborted - returns > 0, the delta will not be inserted into the diff list, but the diff process continues - returns 0, the delta is inserted into the diff list, and the diff process continues
yorah 943700ec 2013-01-18T16:37:13 Return the matched pathspec pattern in `git_pathspec_match_path` Instead of returning directly the pattern as the return value, I used an out parameter, because the function also tests if the passed pathspecs vector is empty. If yes, it considers that the path "matches", but in that case there is no matched pattern per se.
Ben Straub 41713ec1 2013-02-07T10:13:24 Merge pull request #1322 from phkelley/development No bitfields in public headers b/c packing is compiler-specific
Philip Kelley fcd81bcf 2013-02-07T12:47:29 No bitfields in public headers b/c packing is compiler-specific
Scott J. Goldman c9459abb 2013-02-07T03:12:39 tests: fix indentation in repo/message.c
Scott J. Goldman f7b06018 2013-02-07T03:04:50 tests: fix indentation in repo/init.c
Scott J. Goldman 1ca163ff 2013-02-07T02:04:17 tests: fix code style in threads/basic.c
Patrick Pokatilo 94ed23f8 2013-02-07T01:41:20 Call p_readlink to determine symlink size
Carlos Scheidegger ef41ab88 2013-02-06T17:37:51 removed other references to api.html
Vicent Martí a35e8709 2013-02-06T14:21:28 Merge pull request #1319 from cscheid/development removed obsolete reference to api.html
Carlos Scheidegger 4f1da3a2 2013-02-06T16:55:09 removed obsolete reference to api.html
Ben Straub beede432 2013-02-06T13:25:43 Fetchhead: don't expect a tag that isn't there
Ben Straub 169fa384 2013-02-06T13:16:13 Fix fetchhead tests to expect nearly-dangling
Ben Straub f393d4e8 2013-02-06T13:07:56 Clone: fetch all tags
Ben Straub ea57f66b 2013-02-06T11:02:29 Expect standard error code from internal calls
nulltoken e8993455 2012-08-15T20:08:09 diff: Enhance tree-to-tree diff test coverage These tests are related to issue libgit2/libgit2sharp#196
nulltoken 7e858045 2013-02-06T16:06:17 diff: refactor git_diff_tree_to_tree() tests
nulltoken f093cd62 2012-08-15T18:49:01 Add unsymlinked.git test repository
Ben Straub def60ea4 2013-02-05T13:14:48 Allow all non-zero returns to cancel transfers
Ben Straub 42385c96 2013-02-05T12:10:08 Enhance test coverage for transfer cancellation
Ben Straub b71bac9d 2013-02-05T12:03:41 Document callback-triggered cancellation
nulltoken 3ad05221 2013-02-05T16:52:56 Fix MSVC compilation warnings Fix #1308
nulltoken d96aa8a9 2013-01-20T18:24:54 tests: Remove useless code
nulltoken a0c34c94 2013-01-20T13:27:28 reset: Introduce git_reset_default()
Ben Straub fe95ac1b 2013-02-05T10:59:58 Allow progress callback to cancel fetch This works by having the indexer watch the return code of the callback, so will only take effect on object boundaries.
nulltoken c67ffd4a 2013-01-20T12:08:12 reset: Enhance documentation
nulltoken 3cf58e66 2013-01-15T16:12:12 index: Fix indentations
nulltoken 3f0ed118 2013-01-15T11:03:05 index: Enhance documentation
Vicent Martí fb60d268 2013-02-05T06:18:23 Merge pull request #1315 from nulltoken/development cMakeList: Prevent MSVCR1x0.dll dependency
nulltoken e8670d01 2013-02-05T14:32:09 cMakeList: Prevent MSVCR1x0.dll dependency Deploys the libgit2/libgit2@9041250 fix to RELWITHDEBINFO and MINSIZEREL build flavors Fix #255
Russell Belfer de81aee3 2013-02-04T14:49:28 Merge pull request #1298 from ben/user-at Handle "user@" prefix for credentials partially included in URLs
Ben Straub 630146bd 2013-02-04T13:52:18 Address feedback
Vicent Martí 3261a3e9 2013-02-03T08:41:47 Merge pull request #1307 from nulltoken/fix/revparse_describe revparse: Lookup branch before described tag
nulltoken 0e8e5a61 2013-02-03T11:44:26 revparse: Lookup sha before branch
nulltoken 545b479a 2013-02-02T17:36:20 revparse: Lookup branch before described tag Fix #1306
Ben Straub 15760c59 2013-02-01T19:21:55 Use malloc rather than calloc
Vicent Martí e9631660 2013-02-01T15:57:31 Merge pull request #1303 from csware/win32_consistent_error_encoding Win32: Make sure error messages are consistently UTF-8 encoded