Log

Author Commit Date CI Message
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.
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.
Edward Thomson 58582cd0 2014-01-26T06:31:38 Merge pull request #2057 from GrahamDennis/local-file-url-push-fix Fix local push to file:// URL.
XTao 1cb5a811 2014-01-26T17:07:39 Fix write_object.
Carlos Martín Nieto a1bbc0ce 2014-01-25T04:14:37 merge: rename _oid() -> id() Following the rest of the series, use 'id' when refering to the value.
Carlos Martín Nieto 86bfc3e1 2014-01-24T20:30:10 diff: change id abbrev option's name to id_abbrev Same as the other commits in the series, we use 'id' when talking about thing rather than the datatype.
Carlos Martín Nieto 9950bb4e 2014-01-24T20:23:17 diff: rename the file's 'oid' to 'id' In the same vein as the previous commits in this series.
Carlos Martín Nieto f000ee4e 2014-01-24T18:23:46 tree: remove legacy 'oid' naming Rename git_tree_entry_byoid() to _byid() as per the convention.
Carlos Martín Nieto 47e28349 2014-01-24T12:01:34 commit: remvoe legacy 'oid' naming
Carlos Martín Nieto d541170c 2014-01-24T11:36:41 index: rename an entry's id to 'id' This was not converted when we converted the rest, so do it now.
Russell Belfer 7cc001ce 2014-01-24T15:46:15 Add PHP and Javascript diff drivers Since I don't have permission yet on the code from Git, I decided I'd take a stab at writing patterns for PHP and Javascript myself. I think these are pretty weak, but probably better than the default behavior without them.
Russell Belfer 027b8eda 2014-01-24T15:45:49 Move userdiff tests to be data driven This moves the expected and actual test data along with the source data for the userdiff tests into the tests/resources/userdiff test repo and updates the test to use that.
Russell Belfer 3b19d2fd 2014-01-24T09:46:22 Permission for Git code from a couple more This brings over the Pascal and CSharp userdiff data.
Russell Belfer c7c260a5 2014-01-23T16:12:39 Got some permission to use userdiff patterns I contacted a number of Git authors and lined up their permission to relicense their work for use in libgit2 and copied over their code for diff driver xfuncname patterns. At this point, the code I've copied is taken verbatim from core Git although Thomas Rast warned me that the C++ patterns, at least, really need an update. I've left off patterns where I don't feel like I have permission at this point until I hear from more authors.
Russell Belfer 5d82c0df 2014-01-21T12:08:02 Update all tests for new pattern extraction
Russell Belfer b8e86c62 2014-01-21T12:00:08 Implement matched pattern extract for fn headers
Russell Belfer 9bbc53d6 2014-01-21T11:36:43 Fix filemode updating in diff text
Russell Belfer 2c65602e 2014-01-21T10:39:27 Import git drivers and test HTML driver Reorganize the builtin driver table slightly so that core Git builtin definitions can be imported verbatim. Then take a few of the core Git drivers and pull them in. This also creates a test of diffs with the builtin HTML driver which led to some small error handling fixes in the driver selection logic.
Russell Belfer a5a38643 2014-01-20T14:53:59 Initial take on builtin drivers with multiline This extends the diff driver parser to support multiline driver definitions along with ! prefixing for negated matches. This brings the driver function pattern parsing in line with core Git. This also adds an internal table of driver definitions and a fallback code path that will look in that table for diff drivers that are set with attributes without having a definition in the config file. Right now, I just populated the table with a kind of simple HTML definition that is similar to the core Git def.
Carlos Martín Nieto d0a3de72 2014-01-24T11:18:51 note: rename the id getter to git_note_id() This was left over when we did the general switch.
Vicent Marti ca55fc63 2014-01-23T08:03:29 Merge pull request #2074 from linquize/pack-filename-sha1 Drop parsing pack filename SHA1 part
Linquize 8610487c 2014-01-23T23:28:28 Drop parsing pack filename SHA1 part, no one cares the filename
Vicent Marti ac8949ed 2014-01-22T15:41:25 Merge pull request #2073 from ethomson/zerobytes Sometimes a zero byte file is just a zero byte file
Edward Thomson 410a8e6f 2014-01-22T18:31:25 Sometimes a zero byte file is just a zero byte file Don't go to the ODB to resolve zero byte files in the workdir
Ben Straub ab4bcc03 2014-01-22T14:14:37 Plug a small memory leak
Vicent Marti e82b6d13 2014-01-22T11:50:43 Merge pull request #2072 from ethomson/commit_summary Summarize empty messages
Edward Thomson 238e8149 2014-01-22T14:41:04 Summarize empty messages
Vicent Marti 2b678ce5 2014-01-22T10:34:25 Merge pull request #2070 from ethomson/checkout_filemode Preserve tree filemode in index during checkout
Edward Thomson e8b81c69 2014-01-22T13:24:32 Preserve tree filemode in index during checkout Don't try to determine whether the system supports file modes when putting the tree data in the index during checkout. The tree's mode is canonical and did not come from stat(2) in the first place.
Vicent Marti ec088fec 2014-01-22T09:35:25 Merge pull request #2069 from isilkor/patch_to_buf Expose patch serialization to git_buf
Nicolas Hake c05cd792 2014-01-22T17:51:32 Drop git_patch_to_str It's hard or even impossible to correctly free the string buffer allocated by git_patch_to_str in some circumstances. Drop the function so people have to use git_patch_to_buf instead - git_buf has a dedicated destructor.
Nicolas Hake 450e8e9e 2014-01-22T13:22:15 Expose patch serialization to git_buf Returning library-allocated strings from libgit2 works fine on Linux, but may cause problems on Windows because there is no one C Runtime that everything links against. With libgit2 not exposing its own allocator, freeing the string is a gamble. git_patch_to_str already serializes to a buffer, then returns the underlying memory. Expose the functionality directly, so callers can use the git_buf_free function to free the memory later.
Vicent Marti af2b969b 2014-01-20T16:26:04 Merge pull request #2061 from ethomson/merge_improvements Merge improvements
Edward Thomson 0ef19fe1 2014-01-20T17:13:55 Merge submodules
Edward Thomson db3462ce 2014-01-19T22:36:50 Support union merges
Edward Thomson 0e1ba46c 2014-01-19T20:03:13 Remove the "merge none" flag The "merge none" (don't automerge) flag was only to aide in merge trivial tests. We can easily determine whether merge trivial resulted in a trivial merge or an automerge by examining the REUC after automerge has completed.
Edward Thomson 6891a862 2014-01-19T18:12:22 Load merge.conflictstyle setting from config
Edward Thomson e651e8e2 2014-01-19T15:05:08 Introduce diff3 mode for checking out conflicts
Edward Thomson 6b92c99b 2014-01-19T01:20:25 Don't try to merge binary files
Edward Thomson c1d648c5 2014-01-08T18:29:42 merge_file should use more aggressive levels The default merge_file level was XDL_MERGE_MINIMAL, which will produce conflicts where there should not be in the case where both sides were changed identically. Change the defaults to be more aggressive (XDL_MERGE_ZEALOUS) which will more aggressively compress non-conflicts. This matches git.git's defaults. Increase testing around reverting a previously reverted commit to illustrate this problem.
Vicent Marti e49c98e6 2014-01-20T14:12:41 Merge pull request #2065 from ethomson/submodule_unmodified "Uninitialized" submodules are "unmodified"
Edward Thomson b554ca5d 2014-01-20T15:12:06 "Uninitialized" submodules are "unmodified" Extend the "unmodified" submodule workdir test to include uninitialized submodules, to prevent reporting submodules as modified when they're not in the workdir at all.
Russell Belfer d62bf0bf 2014-01-20T10:15:05 Merge pull request #2063 from linquize/reflog-msg-null git_reflog_entry_message can be null
Russell Belfer fb62dc90 2014-01-20T10:04:20 Merge pull request #2064 from piki/piki/buffer-corner-cases Fix a couple of corner cases and an undefined behavior
Patrick Reynolds abdaf936 2014-01-20T11:42:12 add unit tests for git_buf_join corner cases
Patrick Reynolds 7cbc6241 2014-01-20T11:41:21 fix corner cases and an undefined behavior
Linquize e7c66fc8 2014-01-20T23:32:18 git_reflog_entry_message can be null
Graham Dennis 8bf476ac 2014-01-19T16:24:58 Factor out code to convert local "url" into a path. Previously this code was shared between `local_push` and `local_connect`.
Edward Thomson b97e55f2 2014-01-18T14:48:59 Merge pull request #2059 from linquize/git_config_get_crash Fix segfault when calling git_config_get_* functions when a config fails to load
Linquize c24130e0 2014-01-18T22:58:31 Fix segfault when calling git_config_get_* functions when a config fails to load Reinitialize the result code of get_entry() to GIT_ENOTFOUND
Edward Thomson fed98153 2014-01-17T14:00:48 Merge pull request #2058 from libgit2/rb/gitdir-windows-paths Convert gitdir paths to posix on Windows
Graham Dennis c7015424 2014-01-18T08:54:19 Fix a compile warning.
Russell Belfer 6b415f62 2014-01-17T13:46:44 Convert gitdir paths to posix on Windows Apparently, a .git file with "gitdir: path" link on Windows is allowed to use backslashes in the path. Who knew?
Graham Dennis 194d077c 2014-01-18T08:43:29 Add test for pushing to a local file:// URL.
Graham Dennis 4e974c97 2014-01-18T08:02:58 Fix local push to file:// URL.
Vicent Marti b6815fe0 2014-01-16T13:21:20 Merge pull request #2055 from arthurschreiber/patch-3 Fix some documentation issues.
Arthur Schreiber 3f033c55 2014-01-16T21:53:25 Revert a wrong doc change.
Arthur Schreiber 3f0e3e16 2014-01-16T21:42:28 Fix some documentation issues.
Ben Straub c85d606e 2014-01-16T11:36:06 Merge pull request #2044 from libgit2/coverity Run Coverity scan on Travis
Ben Straub ba6464b3 2014-01-15T14:05:04 Merge pull request #2053 from ethomson/bindings Update README to include Java, PowerShell bindings
Edward Thomson 4ef9a508 2014-01-15T13:58:11 Update README to include Java, PowerShell bindings
Ben Straub 998f0016 2014-01-15T12:32:12 Refine build limitation
Ben Straub 53e6f480 2014-01-15T12:12:17 Only run coverity on development
Vicent Marti f04c7dca 2014-01-15T11:54:10 Merge pull request #2050 from libgit2/cmn/always-reflog-message refs: remove the _with_log differentiation
Carlos Martín Nieto 0b28217b 2014-01-15T12:51:31 refs: remove the _with_log differentiation Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
Vicent Marti dec1ac75 2014-01-15T03:17:26 Merge pull request #2049 from ethomson/common Common
Edward Thomson e85bbd52 2014-01-14T14:41:49 Move libgit2 settings out of util
Edward Thomson 39c2302a 2014-01-14T11:19:57 unnecessary include
Vicent Marti 3c1b3ded 2014-01-14T12:41:01 Merge pull request #2047 from arthurschreiber/arthur/fix-dup-functions Align `*_dup` functions
Vicent Marti 30aebe63 2014-01-14T12:40:30 Merge pull request #2048 from arthurschreiber/arthur/add-git_remote_dup Implement @cmn's suggestions for `git_remote_dup`.