Log

Author Commit Date CI Message
Russell Belfer 3158e2fe 2014-02-07T15:24:39 Fix some Windows warnings This fixes a number of warnings with the Windows 64-bit build including a test failure in test_repo_message__message where an invalid pointer to a git_buf was being used.
Vicent Marti c4ee3b54 2014-02-07T18:32:06 Merge pull request #2100 from libgit2/rb/update-pqueue Replace priority queue code with implementation from hashsig
Russell Belfer 8875ef21 2014-02-06T10:11:17 Merge pull request #2104 from ethomson/utf8_cleanup Remove unused utf8 -> utf16 conversion code
Edward Thomson 55d257e7 2014-02-05T15:03:00 Remove unused utf8 -> utf16 conversion code
Ben Straub 629ba7f1 2014-02-05T13:07:46 Merge pull request #2027 from libgit2/rb/only-windows-is-windows Some tests of paths that can't actually be written to disk
Russell Belfer df70de07 2014-02-05T10:25:50 Merge pull request #2094 from libgit2/cmn/push-non-commit Add flexibility to the revwalk API
Vicent Marti daeac29a 2014-02-05T16:24:09 Merge pull request #2103 from libgit2/cmn/parse-commit-faster commit: faster parsing
Carlos Martín Nieto 24f3024f 2014-02-05T14:31:01 Split p_strlen into its own header We need this from util.h and posix.h, but the latter includes common.h which includes util.h, which means p_strlen is not defined by the time we get to git__strndup(). Split the definition on p_strlen() off into its own header so we can use it in util.h.
Carlos Martín Nieto 1e6f0ac4 2014-02-05T13:49:51 utils: don't reimplement strnlen The standard library provides a very nice strnlen function, which knows to use SSE, let's not reimplement it ourselves.
Carlos Martín Nieto a6563619 2014-02-05T13:01:54 commit: faster parsing The current code issues a lot of strncmp() calls in order to check for the end of the header, simply in order to copy it and start going through it again. These are a lot of calls for something we can check as we go along. Knowing the amount of parents beforehand to reduce allocations in extreme cases does not make up for them. Instead start parsing immediately and check for the double-newline after each header field, leaving the raw_header allocation for the end, which lets us go through the header once and reduces the amount of strncmp() calls significantly. In unscientific testing, this has reduced a shortlog-like usage (walking though the whole history of a branch and extracting data from the commits) of git.git from ~830ms to ~700ms and makes the time we spend in strncmp() negligible.
Carlos Martín Nieto d6006413 2014-01-30T17:24:46 docs: produce literal asterisks
Carlos Martín Nieto c74077d1 2014-02-02T12:08:18 revparse: do look at all refs when matching text Now that we no longer fail to push non-commits on a glob, let's search on all refs when we rev-parse syntax asks us to match text.
Carlos Martín Nieto d18209ee 2014-02-01T16:27:42 revwalk: add a test for pushing all references This used to be broken, let's make sure we don't break this use-case.
Carlos Martín Nieto af817202 2014-02-01T15:29:16 revwalk: remove usage of foreach
Carlos Martín Nieto d465e4e9 2014-02-01T15:19:13 revwalk: ignore wrong object type in glob pushes Pushing a whole namespace can cause us to attempt to push non-committish objects. Catch this situation and special-case it for ignoring this.
Carlos Martín Nieto b4ef67d5 2014-02-01T15:11:00 revwalk: add a failing test for pushing "tags" This shows that pusing a whole namespace can be problematic.
Carlos Martín Nieto f61272e0 2014-02-01T12:51:36 revwalk: accept committish objects Let the user push committish objects and peel them to figure out which commit to push to our queue. This is for convenience and for allowing uses of git_revwalk_push_glob(w, "tags") with annotated tags.
Russell Belfer 1bbacc9f 2014-02-04T16:46:43 Avoid extra copying in pqueue operations This tweaks the pqueue_up and pqueue_down routines so that they will not do full element swaps but instead carry over the state of the previous loop iteration and only assign elements for which we know the final position. This will avoid a little bit of data assignment which should improve performance in theory. Also got rid of some vector helpers that I'm no longer using.
Russell Belfer 43709ca8 2014-02-04T10:33:30 Fix typo setting sorted flag when reloading index This fixes a typo I made for setting the sorted flag on the index after a reload. That typo didn't actually cause any test failures so I'm also adding a test that explicitly checks that the index is correctly sorted after a reload when ignoring case and when not.
Russell Belfer 882c7742 2014-02-04T10:01:37 Convert pqueue to just be a git_vector This updates the git_pqueue to simply be a set of specialized init/insert/pop functions on a git_vector. To preserve the pqueue feature of having a fixed size heap, I converted the "sorted" field in git_vectors to a more general "flags" field so that pqueue could mix in it's own flag. This had a bunch of ramifications because a number of places were directly looking at the vector "sorted" field - I added a couple new git_vector helpers (is_sorted, set_sorted) so the specific representation of this information could be abstracted.
Vicent Marti 7369ea80 2014-02-04T05:57:25 Merge pull request #2096 from ethomson/merge Corrections for merge working directory validation
Russell Belfer af4bc661 2014-02-03T21:04:40 Add some priority queue tests I forgot that I wrote some tests for the new priority queue code.
Russell Belfer 4075e060 2014-02-03T21:02:08 Replace pqueue with code from hashsig heap I accidentally wrote a separate priority queue implementation when I was working on file rename detection as part of the file hash signature calculation code. To simplify licensing terms, I just adapted that to a general purpose priority queue and replace the old priority queue implementation that was borrowed from elsewhere. This also removes parts of the COPYING document that no longer apply to libgit2.
Edward Thomson dbfd83bc 2014-02-03T19:56:13 Remove unused pointer assignment
Edward Thomson c0b10c25 2014-02-01T12:05:00 Merge wd validation tests against index not HEAD Validating the workdir should not compare HEAD to working directory - this is both inefficient (as it ignores the cache) and incorrect. If we had legitimately allowed changes in the index (identical to the merge result) then comparing HEAD to workdir would reject these changes as different. Further, this will identify files that were filtered strangely as modified, while testing with the cache would prevent this. Also, it's stupid slow.
Edward Thomson bb13d391 2014-02-01T12:51:44 Test that emulates a strange filter implementation
Edward Thomson 16eb8b7c 2014-02-01T12:02:55 Tests merging staged files identical to result
Edward Thomson b60149ec 2014-01-31T18:43:50 Tests merge when changes exist in workdir/index
Vicent Marti 3b6a5bac 2014-02-03T10:36:04 Merge pull request #2095 from libgit2/update-head-reflog Correct "new" id for reattached-HEAD reflog entry
Vicent Marti 0b4d86af 2014-02-02T10:44:13 Merge pull request #2098 from arthurschreiber/arthur/add-git_reference_is_note Add `git_reference_is_note`.
Arthur Schreiber 50ad7cc2 2014-02-02T18:20:06 Add `git_reference_is_note`.
Ben Straub 7f058b86 2014-02-01T19:29:48 Check for errors when dereferencing symbolic refs
Ben Straub ee8e6afd 2014-02-01T11:46:44 Reflog: correct "new" id for reattaching HEAD
Ben Straub 7ac1b899 2014-02-01T11:46:15 Add failing test case
Vicent Marti 40e10630 2014-01-31T13:57:41 Merge pull request #2092 from libgit2/rb/update-clar Update to latest clar
Russell Belfer 7be88b4c 2014-01-31T13:44:09 Update to latest clar
Vicent Marti f9500b45 2014-01-31T09:46:40 Merge pull request #2081 from libgit2/bs/reflog Reflog completionism
Ben Straub db092c19 2014-01-30T16:10:18 Allow tests to run without user config
Ben Straub a1710a28 2014-01-29T10:35:46 Enhance testing of signature parameters
Ben Straub a1b07dca 2014-01-29T09:57:20 Document branch-creation reflog better
Ben Straub 59bb1126 2014-01-28T11:45:30 Provide good default reflog messages in branch api
Ben Straub e871d89b 2014-01-28T11:32:09 Ensure moving a branch updates the reflog
Ben Straub ccf6ce5c 2014-01-28T11:30:36 Ensure renaming a reference updates the reflog
Ben Straub 540c1809 2014-01-28T10:44:33 Add reflog parameters to git_branch_move
Ben Straub 48110f67 2014-01-28T10:31:54 Deleting a branch deletes its reflog
Ben Straub 1cc974ab 2014-01-27T14:40:31 Augment clone API with reflog parameters
Ben Straub b31ebfbc 2014-01-27T14:12:29 Add reflog params to git_branch_create
Ben Straub 67c4716f 2014-01-27T13:47:48 Add passing reflog tests
Ben Straub 2952a9d0 2014-01-27T13:39:48 Ensure creating HEAD creates its reflog
Ben Straub 6357388e 2014-01-27T13:24:10 Enhance clarity
Ben Straub a2311f92 2014-01-27T13:12:31 Ensure updating HEAD updates reflog
Ben Straub 94f263f5 2014-01-25T08:04:49 Add reflog params to set-head calls
Vicent Marti 8646b0a0 2014-01-30T15:10:39 Merge pull request #2085 from libgit2/rb/index-tree-blob-collision Index tree-bob collision
Russell Belfer 25babd02 2014-01-30T11:38:59 Fix checkout NONE to not remove file If you are checking out NONE, then don't remove.
Russell Belfer b794cbcd 2014-01-30T11:38:25 Rename conflict to collision to prevent confusion
Russell Belfer 71ae7601 2014-01-30T11:30:16 Force explicit remove of files instead of defer The checkout code used to defer removal of "blocking" files in checkouts until the blocked item was actually being written (since we have already checked that the removing the block is acceptable according to the update rules). Unfortunately, this resulted in an intermediate index state where both the blocking and new items were in the index which is no longer allowed. Now we just remove the blocking item in the first pass so it never needs to coexist. In cases where there are typechanges, this could result in a bit more churn of removing and recreating intermediate directories, but I'm going to assume that is an unusual case and the churn will not be too costly.
Vicent Marti 32d7abfc 2014-01-30T10:34:36 Merge pull request #2091 from libgit2/rb/cleanups-123 Fix errors with zstream (and a variety of other cleanups)
Russell Belfer 19459b1e 2014-01-30T10:23:35 Defer zstream NUL termination to end And don't terminate if there isn't space for it (since it's binary data, it's not worth a reallocation).
Russell Belfer 8606f33b 2014-01-30T09:59:15 Expand zstream tests and fix off-by-one error
Russell Belfer 5572d2b8 2014-01-28T11:44:17 Some missing oid to id renames
Russell Belfer d9b04d78 2014-01-29T15:02:35 Reorganize zstream API and fix wrap problems There were some confusing issues mixing up the number of bytes written to the zstream output buffer with the number of bytes consumed from the zstream input. This reorganizes the zstream API and makes it easier to deflate an arbitrarily large input while still using a fixed size output.
Russell Belfer e9d5e5f3 2014-01-28T16:25:42 Some fixes for Windows x64 warnings
Russell Belfer 3cf11eef 2014-01-28T11:47:33 Misc cleanups
Russell Belfer c0644c3f 2014-01-28T11:45:06 Make submodule fetchRecurse match other options This removes the fetchRecurse compiler warnings and makes the behavior match the other submodule options (i.e. the in-memory setting can be reset to the on-disk value).
Vicent Marti 0316d80a 2014-01-29T19:10:00 Merge pull request #2089 from scunz/cmake_path We never search for libiconv via pkg-config
Sascha Cunz 4bc94eb5 2014-01-30T03:01:46 We never search for libiconv via pkg-config So we actually also never know that we can set a dependency on it in pkg-config. Instead always give it the -L and -l options.
Vicent Marti 2d3cc3ed 2014-01-29T18:49:56 Merge pull request #2088 from scunz/cmake_path Fixing #2017 and #2087
Sascha Cunz 6e0ff093 2014-01-30T02:30:55 Find and use a MacPorts version of libiconv. Fixes #2017. - Add correct -I, -L and -l flags - Search for libiconv in /opt/local/[include|lib] before in the system path. See #2017 for details. - Give splitted -L and -l arguments to pkg-config
Sascha Cunz 39949f06 2014-01-30T02:28:53 Cleanup FindIconv.cmake Doesn't change anything. Just removes stuff that was probably missed to remove when this was imported.
Sascha Cunz 60306450 2014-01-29T23:47:20 Use relative path to set cmake module path This has actually no effect on a "normal" build, but allows to use libgit2 as a part of a larger project via CMake's ADD_SUBDIRECTORY() Closes #2087
Edward Thomson 0972c592 2014-01-29T13:14:00 Two-phase index merging When three-way merging indexes, we previously changed each path as we read them, which would lead to us adding an index entry for 'foo', then removing an index entry for 'foo/file'. With the new index requirements, this is not allowed. Removing entries in the merged index, then adding them, resolves this. In the previous example, we now remove 'foo/file' before adding 'foo'.
Edward Thomson b747eb14 2014-01-29T12:55:33 Give index_isrch the same semantics as index_srch In case insensitive index mode, we would stop at a prefixed entry, treating the provided search key length as a substring, not the length of the string to match.
Edward Thomson bae8bea0 2014-01-29T12:53:01 More index collision tests
Vicent Marti 1eefd356 2014-01-29T18:44:29 index: Implement folder-file checks
Vicent Marti 53bec813 2014-01-29T18:17:08 index: Compare with given len
Russell Belfer 95fbedcd 2014-01-28T16:22:37 Add test for blob/tree name collisions in index
Vicent Marti 66af8449 2014-01-29T12:57:42 Merge pull request #2086 from ethomson/fixup Don't strcmp a git_buf, strcmp its char *
Edward Thomson 96f12e70 2014-01-29T12:50:42 Don't strcmp a git_buf, strcmp its char *
Vicent Marti cd4aa602 2014-01-28T10:50:04 Merge pull request #2083 from arthurschreiber/arthur/add-git_commit_descendant_of Add `git_commit_descendant_of`.
Arthur Schreiber e7c16943 2014-01-28T19:39:14 Add `git_graph_descendant_of`.
Vicent Marti a1a9d0bd 2014-01-27T15:35:39 Merge pull request #2066 from libgit2/rb/builtin-diff-drivers Add built in diff drivers
Russell Belfer daebb598 2014-01-27T14:57:03 Add PHP tests and fix bug in PHP builtin driver
Russell Belfer 082e82db 2014-01-27T11:45:06 Update Javascript userdiff driver and tests Writing a sample Javascript driver pointed out some extra whitespace handling that needed to be done in the diff driver. This adds some tests with some sample javascript code that I pulled off of GitHub just to see what would happen. Also, to clean up the userdiff test data, I did a "git gc" and packed up the test objects.
Russell Belfer 41159877 2014-01-27T10:23:55 Got permission from Gustaf for userdiff patterns
Vicent Marti 93954245 2014-01-27T09:39:36 Merge pull request #2075 from libgit2/cmn/leftover-oid Leftover OID -> ID changes
Vicent Marti 46e7fc18 2014-01-27T09:36:24 Merge pull request #2077 from libgit2/cmn/buf-out Buff up returning strings
Vicent Marti c90ea3de 2014-01-27T09:34:52 Merge pull request #2078 from linquize/msvc MSVC doesn't like modern code neither
Vicent Marti 9ff34a53 2014-01-27T09:34:32 Merge pull request #2079 from linquize/msvc-blame-example Make blame example compile on MSVC
Linquize 1664aaaa 2013-11-05T23:39:05 Make blame example compile on MSVC
Linquize fbc5661e 2014-01-27T20:51:46 MSVC doesn't like modern code neither
Carlos Martín Nieto 66d585c6 2014-01-27T04:58:23 MSVC doesn't like modern code
Carlos Martín Nieto bf522e08 2014-01-26T16:59:36 refspec: move to git_buf for outputting strings
Carlos Martín Nieto e1d7f003 2014-01-26T16:32:49 messsage: use git_buf in prettify() A lot of the tests were checking for overflow, which we don't have anymore, so we can remove them.
Carlos Martín Nieto ee550477 2014-01-26T16:11:18 config: use git_buf for returning paths Again, we already did this internally, so simply remove the conversions.
Carlos Martín Nieto b25d87c9 2014-01-26T16:03:37 branch: move to git_buf when outputting newly-allocated strings Internally we already did everything with git_bufs, so this is just exposing those functions with public names.
Carlos Martín Nieto 7a3bd1e7 2014-01-26T15:35:17 repository: move to use a git_buf for outputting strings Since we now export that type, we can avoid making the user guess a size.
Ben Straub 1087d4fd 2014-01-26T11:27:44 Merge pull request #2052 from arthurschreiber/arthur/add-git_remote_dup Fix git_remote_dup & add missing const
Arthur Schreiber 991b2840 2014-01-26T19:35:02 Make sure git_remote_dup copies a remote's refspecs correctly.
Arthur Schreiber 11f6ad5f 2014-01-15T21:15:34 Add some missing const declarations.
Edward Thomson 93b96ea7 2014-01-26T06:38:02 Merge pull request #2076 from xtao/fix-zstream Fix write_object.