Log

Author Commit Date CI Message
Russell Belfer f2b7f7a6 2013-01-07T15:44:22 Share git_diff_blobs/git_diff_blob_to_buffer code This moves the implementation of these two APIs into common code that will be shared between the two. Also, this adds tests for the `git_diff_blob_to_buffer` API. Lastly, this adds some extra `const` to a few places that can use it.
Ignacio Casal Quinteiro f6234cd9 2012-12-21T20:57:43 Introduce git_diff_blob_to_buffer
Vicent Martí 7dfc5c3c 2013-01-07T07:34:34 Merge pull request #1203 from phkelley/reverse_dak Revert changes from git/git diff-delta.c by dak@gnu.org, proski@gnu.org
Philip Kelley 8e89839d 2013-01-07T07:06:18 Merge pull request #1202 from martinwoodward/add-florian Add Florian Forster to hall of fame
Philip Kelley f6ed5e2d 2013-01-07T09:53:43 Revert changes from git/git diff-delta.c by dak@gnu.org, proski@gnu.org
Martin Woodward 32f59bfb 2013-01-07T14:52:42 Add Florian Forster to hall of fame Permission recieved from Florian Forster on Jan 07 2013 to include any changes of his from core Git into LibGit2.
Vicent Martí 05e9fc58 2013-01-06T18:56:40 Merge pull request #1200 from ethomson/merge_cleanup merge cleanup should actually cleanup and the test should actually test
Edward Thomson c31ae146 2013-01-06T18:38:29 merge cleanup should actually cleanup and the test should actually test
Kevin Sawicki 7eb222fc 2013-01-06T10:39:35 Correct typos in documentation
Kevin Sawicki e5562e18 2013-01-06T10:12:05 Revert "Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE" This reverts commit 47fbcbb5a8d4aad87371a381ebdadd04cde3fb2b.
Kevin Sawicki 47fbcbb5 2013-01-06T10:02:37 Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE
Vicent Martí 8b107c67 2013-01-06T09:12:02 Merge pull request #1198 from nulltoken/travis/run-valgrind-on-success travis: Only run Valgrind when all tests pass
nulltoken ced8eff1 2013-01-06T17:21:37 travis: Only run Valgrind when all tests pass
Vicent Martí 5df7ad3e 2013-01-06T07:56:45 Merge pull request #1196 from scunz/allow_clone_without_master_branch Allow to clone repositories that don't have a `master` branch
Vicent Martí 74f880a6 2013-01-06T07:56:08 Merge pull request #1197 from nulltoken/travis/run-online-tests travis: Include the online suite when running against Travis
nulltoken d01fe380 2013-01-06T15:26:54 reset: Fix a memory leak
nulltoken b97fabfa 2013-01-06T15:18:00 tests: Fix some memory leaks
nulltoken d1aee477 2013-01-06T15:09:27 clone: Fix a memory leak
nulltoken 09556895 2013-01-06T14:40:32 travis: Include the online suite when running against Travis
Sascha Cunz 2ba6f3c7 2013-01-06T14:30:52 Allow to clone repositories that don't have a `master` branch Before this, we error out from `reference_matches_remote_head` if the reference we're searching for does not exist. Since we explicitly check if master is existing in `update_head_to_remote` and error out if it doesn't, a repository without master branch could not be cloned. In fact this was later clobbered by what is fixed in #1194. However, this patch introduces a `found` member in `head_info` and sets it accordingly. That also saves us from checking the string length of `branchname` a few times.
Vicent Martí f9b4adbe 2013-01-05T18:52:09 Merge pull request #1194 from libgit2/dont-clobber-errors git_mwindow_file_deregister() shouldn't return errors
Scott J. Goldman f9b55bcb 2013-01-05T18:20:42 git_mwindow_file_deregister() shouldn't return errors As a function that appears to only be called on error paths, I don't think it makes sense for it to return an error, or clobber the global giterr. Note that no existing callsites actually check the return code. In my own application, there are errors where the real error ends up being hidden, as git_mwindow_file_deregister() clobbers the global giterr. I'm not sure this error is even relevant?
Vicent Martí d74b1bc5 2013-01-05T15:44:19 Merge pull request #1131 from libgit2/correct-ahead-behind Fix an issue with ahead-behind for lopsided traversal
Vicent Martí 2b7b3e1f 2013-01-05T04:30:24 Merge pull request #1193 from libgit2/no-newline-packed-refs Handle packed refs with no trailing newline
Scott J. Goldman ef82ff30 2013-01-05T00:46:39 Handle packed refs with no trailing newline I saw a repo in the wild today which had a master branch ref which was packed, but had no trailing newline. Git handled it fine, but libgit2 choked on it. Fix seems simple enough. If we don't see a newline, assume the end of the buffer is the end of the ref line.
Vicent Martí 7511d8b4 2013-01-04T17:28:09 Merge pull request #1192 from arrbee/fix-win32-checkout-test Fix win32 checkout test
Russell Belfer 2f089539 2013-01-04T17:17:37 Actually fix win32 checkout test It turns out that using REMOVE_UNTRACKED with checkout for this particular test was causing the .gitattributes file to be removed and so we do have to allow for the CRs in the created file...
Russell Belfer bebdbcd4 2013-01-04T16:56:21 Fix crlf issue with checkout tests Move some checkout utility functions into a shared file and fix some crlf filtering issues when verifying file contents.
Vicent Martí 7a68142e 2013-01-04T16:49:46 Merge pull request #1191 from maxpow4h/fix-format-string Fixed size_t format string warning
Maxwell Swadling 79ff264e 2013-01-05T11:34:19 Fixed size_t format string warning
Vicent Martí cfc7b835 2013-01-04T16:14:49 Merge pull request #1118 from arrbee/fix-reset-hard Fix checkout corner cases, index handling, and reset hard behavior
Russell Belfer 817d6251 2013-01-03T16:56:27 Fix checkout of index-only dirs and prefixed paths There are a couple of checkout bugs fixed here. One is with untracked working directory entries that are prefixes of tree entries but not in a meaningful way (i.e. "read" is a prefix of "readme.txt" but doesn't interfere in any way). The second bug is actually a redo of 07edfa0fc640f85f95507c3101e77accd7d2bf0d where directory entries in the index that are not in the diff were not being removed correctly. That fix remedied one case but broke another.
Russell Belfer 7fc00435 2013-01-03T15:48:52 Add index API to remove all files in a directory This adds the git_index_remove_directory API plus tests.
Russell Belfer 1b88faf7 2013-01-03T14:21:25 Fix oid tostr issue with NULL oid I made a small change to the behavior of this code and apparently got it wrong. Sigh.
Russell Belfer d8889d2b 2013-01-03T14:08:53 Fix checkout bug rmv untracked trees from index When checking out with the GIT_CHECKOUT_REMOVE_UNTRACKED option and there was an entire tree in the working directory and in the index that is not in the baseline nor target commit, the tree was correctly(?) removed from the working directory but was not successfully removed from the index. This fixes that and adds a test of the functionality.
Russell Belfer dde7602a 2013-01-03T13:22:34 Fix memory leak with checkout tree iterator
Russell Belfer 0d70f650 2013-01-03T10:51:18 Fixing checkout UPDATE_ONLY and adding tests This adds a bunch of new checkout tests and in the process I found a bug in the GIT_CHECKOUT_UPDATE_ONLY flag which I fixed.
Russell Belfer 2850252a 2013-01-03T09:11:52 Oh yeah, bugs from my rebase
Russell Belfer 77cffa31 2013-01-02T17:14:00 Simplify checkout documentation This moves a lot of the detailed checkout documentation into a new file (docs/checkout-internals.md) and simplifies the public docs for the checkout API.
Russell Belfer b3fb9237 2013-01-02T17:12:45 Clone should use GIT_CHECKOUT_SAFE_CREATE For clone to work as expected, it should be using a SAFE_CREATE checkout (i.e. create files that are missing, even if the target tree matches the current HEAD).
Russell Belfer c50c58de 2013-01-02T17:10:56 Extend tests for checkout with typechanges Test a number of other cases, including intentionally forced conflicts and deeper inspection that trees get created properly. There is a still a bug in checkout because the first test here (i.e. test_checkout_typechange__checkout_typechanges_safe) should be able to pass with GIT_CHECKOUT_SAFE as a strategy, but it will not because of some lingering submodule checkout issues.
Russell Belfer e0548c0e 2013-01-02T17:09:07 Fix some submodule and typechange checkout cases There were a bunch of small bugs in the checkout code where I was assuming that a typechange was always from a tree to a blob or vice versa. This fixes up most of those cases. Also, there were circumstances where the submodule definitions were changed by the checkout and the submodule data was not getting reloaded properly before the new submodules were checked out.
Russell Belfer 16a666d3 2013-01-02T17:05:54 Fix workdir notifications and removals The notifications were broken from the various iterations over this code and were not returning working dir item data correctly. Also, workdir items that were alphabetically after the last item in diff were not being processed.
Russell Belfer 546d65a8 2013-01-02T17:01:34 Fix up spoolandsort iterator usage The spoolandsort iterator changes got sort-of cherry picked out of this branch and so I dropped the commit when rebasing; however, there were a few small changes that got dropped as well (since the version merged upstream wasn't quite the same as what I dropped).
Russell Belfer a9a73007 2012-12-20T16:16:22 Submodule caching fix and location API This adds a new API to the submodule interface that just returns where information about the submodule was found (e.g. config file only or in the HEAD, index, or working directory). Also, the old "refresh" call was potentially keeping some stale submodule data around, so this simplfies that code and literally discards the old cache, then reallocates.
Russell Belfer 6f58332f 2012-12-20T16:15:02 Fix use of uninitialized variable
Russell Belfer a6a82e1a 2012-12-19T15:06:40 Improve error propagation in stash Stash was sometimes obscuring the actual error code, replacing it with a -1 when there was more descriptive value. This updates stash to preserve the original error code more reliably along with a variety of other error handling tweaks. I believe this is an improvement, but arguably, preserving the underlying error code may result in values that are harder to interpret by the caller who does not understand the internals. Discussion is welcome!
Russell Belfer 8fe713cc 2012-12-19T15:06:14 Make git_oid_tostr use out buffer for NULL oid Previously a NULL oid was handled like an empty buffer and returned a status empty string. This makes git_oid_tostr() set the output buffer to the empty string instead.
Russell Belfer 5cf9875a 2012-12-18T15:19:24 Add index updating to checkout Make checkout update entries in the index for all files that are updated and/or removed, unless flag GIT_CHECKOUT_DONT_UPDATE_INDEX is given. To do this, iterators were extended to allow a little more introspection into the index being iterated over, etc.
Russell Belfer 7e5c8a5b 2012-12-10T15:31:43 More checkout improvements This flips checkout back to be driven off the changes between the baseline and the target trees. This reinstates the complex code for tracking the contents of the working directory, but overall, I think the resulting logic is easier to follow.
Russell Belfer cf208031 2012-12-06T13:36:17 Rework checkout internals (again) I've tried to map out the detailed behaviors of checkout and make sure that we're handling the various cases correctly, along with providing options to allow us to emulate "git checkout" and "git checkout-index" with the various flags. I've thrown away flags in the checkout API that seemed like clutter and added some new ones. Also, I've converted the conflict callback to a general notification callback so we can emulate "git checkout" output and display "dirty" files. As of this commit, the new behavior is not working 100% but some of that is probably baked into tests that are not testing the right thing. This is a decent snapshot point, I think, along the way to getting the update done.
Russell Belfer bfe7d7de 2012-11-26T17:24:02 Reorder operations in git reset This corrects the order of operations in git reset so that the checkout to reset the working directory content is done before the HEAD is moved. This allows us to use the HEAD and the index content to know what files can / should safely be reset. Unfortunately, there are still some cases where the behavior of this revision differs from core git. Notable, a file which has been added to the index but is not present in the HEAD is considered to be tracked by core git (and thus removable by a reset command) whereas since this loads the target state into the index prior to resetting, it will consider such a file to be untracked and won't touch it. That is a larger fix that I'll defer to a future commit.
Jameson Miller c5df10f4 2012-11-30T10:59:03 Failing test on git_checkout_tree when removing directories
Marvin Gülker d0951175 2012-12-06T16:12:21 Add failing test to demonstrate wrong checkout behaviour
Russell Belfer 6fee906c 2012-12-18T15:13:11 missing error message is confusing
Russell Belfer 6ac724af 2012-12-18T15:12:06 Clear error to avoid leaving invalid error behind
Russell Belfer e9e20c84 2012-12-19T14:52:12 Update cl_git_pass to return more info This adds a failure reporting function that is called by cl_git_pass which captures the actual error return code and the error message if available in the failure report.
Vicent Marti 60406162 2013-01-04T20:28:33 clar: lolpython
Vicent Marti 3a4a961d 2013-01-04T20:25:10 clar: Corrupted pickles
Vicent Martí c18a5ec5 2013-01-04T11:10:39 Merge pull request #1174 from nulltoken/topic/soft_reset_with_index_conflicts Prevent soft reset when index contains conflicts
Carlos Martín Nieto 702c3bf7 2013-01-04T19:01:36 clar: make it compatible with python3
Vicent Marti 1d5d4186 2013-01-04T20:02:01 clar: haha
Vicent Marti 73b58c91 2013-01-04T20:00:09 clar: fix warning on Windows
nulltoken bdb2f242 2013-01-04T19:54:45 Ignore clar.suite.rule
Philip Kelley 27fe6efe 2013-01-04T13:48:08 Fix git_index sorting with core.ignorecase in git_index_read
nulltoken 9a0d5904 2012-12-27T13:42:27 reset: Cannot soft reset with a conflicted index
Vicent Martí 52ee071b 2013-01-04T09:33:54 Merge pull request #1189 from martinwoodward/tests-compliance Add jGit license block to derrived tests
Martin Woodward ba1a430a 2013-01-04T17:29:45 Add jGit license block to derrived tests Add the jGit license block to tests derrived from jGit as per the terms of the BSD license.
Vicent Marti 8978f1de 2013-01-04T17:52:49 Merge branch 'clar2' into development Conflicts: src/pqueue.c src/pqueue.h src/util.c tests-clar/merge/setup.c
Vicent Marti a7ffd936 2013-01-04T17:46:38 clar: fix merge/setup.c
Ted Nyman d0ae8b98 2013-01-03T16:15:52 Remove whitespace
Ted Nyman ed8fb821 2013-01-03T16:14:23 Add note in CONVENTIONS about inlined functions
Martin Woodward 10aa44ce 2013-01-03T23:42:04 Add Brian Downing to the hall of fame
Edward Thomson 5a62d659 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Martin Woodward 9651fdc2 2013-01-03T22:28:59 Give proper license notice to code from Android The usage of the Android derrived code contains a full notice which must be provided with the source code as per the terms given at: https://android.googlesource.com/platform/bionic/+/android-4.0.3_r1.1/libc/bionic/dirname_r.c
Martin Woodward 43464497 2013-01-03T22:24:10 Add full license notice to bsearch code The original BSD glibc code contains the notice as given at http://opensource.apple.com/source/gcc/gcc-5666.3/libiberty/bsearch.c and should be given in full along with the code.
Congyi Wu d73d52df 2013-01-03T13:26:11 Fix bug in gen_pktline() for deletes of missing remote refs * gen_pktline() in smart_protocol.c was skipping refspecs that deleted refs that were not advertised by the server. The new behavior is to send a delete command with an old-id of zero, which matches the behavior of the official git client. * Update test_network_push__delete() in reaction to above fix. * Obviate messy logic that handles missing push_spec rrefs by canonicalizing push_spec. After calculate_work(), loid, roid, and rref, are filled in with exactly what is sent to the server
Martin Woodward 931b8b70 2013-01-03T22:16:37 Add Apache license header back to libpqueue files The original libpqueue file were licensed under Apache 2.0 so therefore should retain their copyrights and header as per the license terms at http://www.apache.org/licenses/LICENSE-2.0
Edward Thomson 35560d6d 2013-01-03T15:53:50 expose merge metadata cleanup
Nikolai Vladimirov b60b4562 2013-01-03T16:31:36 add option to allow git note overwrite
Philip Kelley 853488ee 2013-01-03T08:45:09 Fix git__strncasecmp
Nikolai Vladimirov b421decc 2013-01-03T15:43:51 notes.c - whitespace fix
Vicent Martí 686a243a 2013-01-04T08:36:13 Merge pull request #1184 from ethomson/mergehead_iterator MERGE_HEAD contents iterator
Philip Kelley 37955f54 2013-01-04T07:33:31 Merge pull request #1183 from congyiwu/push_delete_fix Fix bug in gen_pktline() for deletes of missing remote refs
Vicent Martí acb0f65f 2013-01-04T03:57:31 Merge pull request #1188 from tnm/inline-convention Inline convention
Ted Nyman f783f76e 2013-01-03T16:15:52 Remove whitespace
Ted Nyman 394711ff 2013-01-03T16:14:23 Add note in CONVENTIONS about inlined functions
Vicent Martí 60d61926 2013-01-03T15:46:23 Merge pull request #1187 from martinwoodward/give-props Add Brian Downing to the hall of fame
Martin Woodward c999e1c3 2013-01-03T23:42:04 Add Brian Downing to the hall of fame
Vicent Martí dccec593 2013-01-03T14:46:45 Merge pull request #1186 from martinwoodward/compliance-audit License Compliance Audit
Edward Thomson 42e50b5e 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Martin Woodward 1c5b3a41 2013-01-03T22:28:59 Give proper license notice to code from Android The usage of the Android derrived code contains a full notice which must be provided with the source code as per the terms given at: https://android.googlesource.com/platform/bionic/+/android-4.0.3_r1.1/libc/bionic/dirname_r.c
Martin Woodward 0470f8fc 2013-01-03T22:24:10 Add full license notice to bsearch code The original BSD glibc code contains the notice as given at http://opensource.apple.com/source/gcc/gcc-5666.3/libiberty/bsearch.c and should be given in full along with the code.
Congyi Wu 4128f5aa 2013-01-03T13:26:11 Fix bug in gen_pktline() for deletes of missing remote refs * gen_pktline() in smart_protocol.c was skipping refspecs that deleted refs that were not advertised by the server. The new behavior is to send a delete command with an old-id of zero, which matches the behavior of the official git client. * Update test_network_push__delete() in reaction to above fix. * Obviate messy logic that handles missing push_spec rrefs by canonicalizing push_spec. After calculate_work(), loid, roid, and rref, are filled in with exactly what is sent to the server
Martin Woodward 9a919301 2013-01-03T22:16:37 Add Apache license header back to libpqueue files The original libpqueue file were licensed under Apache 2.0 so therefore should retain their copyrights and header as per the license terms at http://www.apache.org/licenses/LICENSE-2.0
Vicent Martí b449a9ae 2013-01-03T13:57:17 Merge pull request #1185 from ethomson/cleanup_merge expose merge metadata cleanup
Edward Thomson ad2bc32f 2013-01-03T15:53:50 expose merge metadata cleanup
Russell Belfer b8a1ea7c 2013-01-03T11:04:03 Fix core::env cleanup code Mark fake home directories that failed to be created, so we won't try to remove them and have cleanup just use p_rmdir.
Vicent Marti 54254a0f 2013-01-03T19:38:29 Status tests...
Vicent Marti 7b51d675 2013-01-03T19:17:07 Even more cleanups