Log

Author Commit Date CI Message
Edward Thomson 83634d38 2014-02-24T17:43:10 Move system directory cache out of utils
Vicent Marti 98b93662 2014-02-24T23:01:01 Merge pull request #2134 from libgit2/ben/icc Fix Intel compiler warnings
Ben Straub c8893d1f 2014-02-24T13:39:04 Use a portable cast
Ben Straub b1f2c2e2 2014-02-22T10:18:42 Prevent icc warning
Ben Straub 8ac7da79 2014-02-22T10:15:11 Avoid casting warning
Ben Straub 0d8265c8 2014-02-22T09:25:41 Staticize file-local variables
Vicent Marti f3e44dd6 2014-02-24T11:02:42 Merge pull request #2132 from ethomson/merge_doc Improve documentation for merging
Russell Belfer 5af69ee9 2014-02-21T10:06:11 Merge pull request #2130 from worblehat/development Check if librt exists independent of OS, to be able to exclude librt on ...
Edward Thomson c254e2b6 2014-02-21T08:55:30 Improve documentation for merging
Vicent Marti f83ef562 2014-02-21T01:33:47 Merge pull request #2129 from arrbee/rb/c89-or-c99 Improve C89 compatibility and clarify use of C99 features
Tobias Marquardt 5bda607c 2014-02-21T01:09:44 Check if librt exists independent of OS, to be able to exclude librt on Android builds, even though it is a 'Linux'.
Russell Belfer 72556cc6 2014-02-20T14:27:10 Address PR comments * Make GIT_INLINE an internal definition so it cannot be used in public headers * Fix language in CONTRIBUTING * Make index caps API use signed instead of unsigned values
Russell Belfer 68a19ca9 2014-02-20T11:26:51 Clarify C compatibility policy and a couple of other minor doc fixups.
Russell Belfer 978a4ed5 2014-02-20T11:00:31 Make git_oid_equal a non-inline API
Vicent Marti 2dc49ea9 2014-02-19T00:21:38 Merge pull request #2124 from libgit2/better-shallow-errors Improve error propagation in shallow call
Ben Straub 864535cf 2014-02-18T14:07:42 Readability
Ben Straub 9bda5fb8 2014-02-18T14:05:30 Improve error propagation in shallow call
Vicent Marti e0ebaaa5 2014-02-18T18:48:43 Merge pull request #2121 from bk2204/ewouldblock Check for EWOULDBLOCK as well as EAGAIN on write.
brian m. carlson 0197d410 2014-02-15T23:09:01 Check for EWOULDBLOCK as well as EAGAIN on write. On some systems, notably HP PA-RISC systems running Linux or HP-UX, EWOULDBLOCK and EAGAIN are not the same value. POSIX (and these OSes) allow EWOULDBLOCK to occur on write(2) (and send(2), etc.), so check explicitly for this case as well as EAGAIN by defining and using a macro GIT_ISBLOCKED that considers both. The macro is necessary because MSYS does not provide EWOULDBLOCK and compilation fails if an attempt is made to use it unconditionally. On most systems, where the two values are the same, the compiler will simply optimize this check out and it will have no effect.
Edward Thomson dbd2ca35 2014-02-11T17:27:30 Merge pull request #2115 from ethomson/crlf_redux Fix filter test for CRLF->LF issues
Edward Thomson 2a528bc0 2014-02-11T19:05:13 Fix filter test for CRLF->LF issues
Vicent Marti 90dd2864 2014-02-12T01:55:25 Merge pull request #2114 from ethomson/crlf_redux Never convert CRLF->LF
Edward Thomson b033f3a3 2014-02-11T16:52:08 Never convert CRLF->LF Core git performs no conversion on systems that use LF, emulate that.
Russell Belfer 5d195cf7 2014-02-11T15:56:04 Merge pull request #2110 from libgit2/ed/crlf_input Handle `core.autocrlf=input` when checking out
Russell Belfer b362fbf3 2014-02-10T10:01:36 Merge pull request #2111 from libgit2/cmn/cond-fixups Conditional ref update fixups
Carlos Martín Nieto 15284a2c 2014-02-10T14:52:28 refs: move current_id before the reflog parameters Keep the reflog parameters as the last two, as they're the optional parameters.
Carlos Martín Nieto 77ad6754 2014-02-10T14:38:01 refs: conditional wording fixups This addresses arrbee's concerns about wording in the conditional reference udpate functions.
Edward Thomson 66b2626c 2014-02-09T13:43:56 core.autocrlf=input w/ text=auto attr to workdir
Edward Thomson 9780020b 2014-02-09T13:37:39 Tests for crlf filtering into the repository
Edward Thomson f77127da 2014-02-09T12:37:16 Tests for core.autocrlf and .gitattributes
Edward Thomson fb6f4539 2014-02-09T12:36:24 Close files on file diff failure Not closing the files on a diff failure ensures that clar cleanup will fail on win32 because we still have the file open.
Ben Straub fb52ba19 2014-02-09T07:25:49 Merge pull request #2107 from rocky-luo/examples-diff-numstat add example for diff with --numstat
rocky-luo 8086b78b 2014-02-09T21:08:42 replace 'out' with 'patch',replace the literal tabs with '\t'.
rocky-luo 4f5a3f40 2014-02-08T20:10:19 add example for diff with --numstat
Ben Straub f1590a18 2014-02-07T16:56:46 Merge pull request #2056 from libgit2/rb/commit-amend Add git_commit_amend API
Russell Belfer 80c29fe9 2014-01-17T10:45:11 Add git_commit_amend API This adds an API to amend an existing commit, basically a shorthand for creating a new commit filling in missing parameters from the values of an existing commit. As part of this, I also added a new "sys" API to create a commit using a callback to get the parents. This allowed me to rewrite all the other commit creation APIs so that temporary allocations are no longer needed.
Russell Belfer 2d929194 2014-02-07T16:14:17 Merge pull request #2099 from libgit2/bs/more-reflog-stuff More reflogness
Russell Belfer 57c47af1 2014-02-07T16:05:19 Merge pull request #2042 from libgit2/cmn/conditional-ref refs: conditional ref updates
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
Ben Straub db55bb73 2014-02-06T11:18:10 Correct default reflog message for git_remote_fetch
Ben Straub 2bfc6739 2014-02-06T10:39:57 Fix terrible indentation
Russell Belfer 8875ef21 2014-02-06T10:11:17 Merge pull request #2104 from ethomson/utf8_cleanup Remove unused utf8 -> utf16 conversion code
Ben Straub 5dae3ffe 2014-02-05T19:27:27 Only run clone-failure test on private repo
Edward Thomson 55d257e7 2014-02-05T15:03:00 Remove unused utf8 -> utf16 conversion code
Ben Straub 78ee7e81 2014-02-05T14:10:19 More merge.conflictstyle fixes
Ben Straub 3094102f 2014-02-05T14:05:18 Avoid crash when skipping remote test
Ben Straub fe45922d 2014-02-05T13:41:12 Fix broken clone test
Ben Straub a2ce19ca 2014-02-05T13:35:26 Prevent user's merge.conflictstyle from breaking tests
Ben Straub 5c8be325 2014-02-05T13:32:45 Fix a few references to changed function signatures
Ben Straub 0de2c4e3 2014-02-05T13:15:57 Merge remote-tracking branch 'libgit2/development' into bs/more-reflog-stuff
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 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.
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 5367ec4b 2014-02-05T12:02:52 refs: add an unconditional delete Add it under the git_reference_remove() name, letting the user pass the repo and name, analogous to unconditional setting/creation.
Carlos Martín Nieto b7ae71ec 2014-02-05T11:47:33 refs: catch cases where the ref type has changed If the type of the on-disk reference has changed, the old value comparison should fail.
Carlos Martín Nieto f44fd59e 2014-02-05T11:21:14 refs: check the ref's old value when deleting Recognize when the reference has changed since we loaded it.
Carlos Martín Nieto 7ee8c7e6 2014-02-05T11:07:34 refs: placeholder conditional delete We don't actually pass the old value yet.
Carlos Martín Nieto f8621dde 2014-02-05T10:42:42 refs: factor out old value comparison We will reuse this later for deletion.
Carlos Martín Nieto 878fb66f 2014-02-05T10:19:17 refs: bring conditional symbolic updates to the frontend Bring the race detection goodness to symbolic references as well.
Carlos Martín Nieto 91123661 2014-02-04T22:04:00 refdb: add conditional symbolic updates Add a parameter to the backend to allow checking for the old symbolic target.
Carlos Martín Nieto d6236cf6 2014-02-04T21:40:22 refs: add tests for conditional updates
Carlos Martín Nieto 1202c7ea 2014-02-04T21:35:44 refs: fix leak on successful update Free the old ref even on success.
Carlos Martín Nieto fc4728e3 2014-01-29T14:07:18 refs: return GIT_EMODIFIED if the ref target moved In case we loose the race to update the reference, return GIT_EMODIFIED to let the user distinguish it from other types of errors.
Carlos Martín Nieto 5d96fe88 2014-01-14T15:33:29 refs: changes from feedback Change the name to _matching() intead of _if(), and force _set_target() to be a conditional update. If the user doesn't care about the old value, they should use git_reference_create().
Carlos Martín Nieto 9b148098 2013-12-18T19:58:16 refs: conditional ref updates Allow updating references if the old value matches the given one.
Ben Straub 010cec3a 2014-02-04T20:50:40 Add reflog params to git_repository_detach_head
Ben Straub c3ab1e5a 2014-02-04T20:38:13 Add reflog parameters to remote apis Also added a test for git_remote_fetch.
Ben Straub 491cecfe 2014-02-04T20:13:50 Add reflog parameters to git_push_update_tips
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.
Ben Straub 0adb0606 2014-02-04T15:32:57 Fix reflog message when creating commits
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
Ben Straub 86746b4b 2014-02-03T15:06:47 Add reset tests for reflog
Ben Straub eec2761f 2014-02-03T15:06:32 Fix warning
Ben Straub 586be3b8 2014-02-03T15:05:55 Add reflog parameters to git_reset
Ben Straub 0d847a31 2014-02-03T14:08:40 Reset helpers: use revparse instead
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