Log

Author Commit Date CI Message
Russell Belfer 41a82592 2012-05-15T14:17:39 Ranged iterators and rewritten git_status_file The goal of this work is to rewrite git_status_file to use the same underlying code as git_status_foreach. This is done in 3 phases: 1. Extend iterators to allow ranged iteration with start and end prefixes for the range of file names to be covered. 2. Improve diff so that when there is a pathspec and there is a common non-wildcard prefix of the pathspec, it will use ranged iterators to minimize excess iteration. 3. Rewrite git_status_file to call git_status_foreach_ext with a pathspec that covers just the one file being checked. Since ranged iterators underlie the status & diff implementation, this is actually fairly efficient. The workdir iterator does end up loading the contents of all the directories down to the single file, which should ideally be avoided, but it is pretty good.
Vicent Martí 54695f40 2012-05-14T13:28:13 Merge pull request #699 from nulltoken/fix/compilation-warnings Fix compilation warnings
nulltoken d5ed6348 2012-05-14T22:24:58 Fix compilation warnings
Vicent Martí 87d6138e 2012-05-14T13:17:19 Merge pull request #696 from nulltoken/topic/notes-list Add git_note_foreach()
Vicent Martí 79fdde49 2012-05-14T22:15:53 Revert "Specifiy dllimport to MSVC if we're not building libgit2.dll" This reverts commit 1093e2de22f6ca245b09d758a3510899a8362048.
nulltoken 86ecd844 2012-05-08T17:58:40 notes: add git_notes_foreach()
Vicent Martí 1c3a5a03 2012-05-14T11:25:55 Merge pull request #693 from nulltoken/topic/enhance_branch_move_test_coverage branch: cover with test that moving a non existing branch returns ENOTFOUND
Vicent Martí 8c6329ee 2012-05-14T11:25:40 Merge pull request #692 from nulltoken/fix/delete-branch_ENOTFOUND branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Vicent Martí c9e9ec97 2012-05-14T11:24:37 Merge pull request #688 from hanwen/master See issue https://github.com/libgit2/libgit2/issues/680
Sascha Cunz 1093e2de 2012-05-11T04:25:23 Specifiy dllimport to MSVC if we're not building libgit2.dll Building a "shared object" (DLL) in Windows includes 2 steps: - specify __declspec(dllexport) when building the library itself. MSVC will disallow itself from optimizing these symbols out and reference them in the PE's Exports-Table. Further, a static link library will be generated. This library contains the symbols which are exported via the declsepc above. The __declspec(dllexport) becomes part of the symbol-signature (like parameter types in C++ are 'mangled' into the symbol name, the export specifier is mingled with the name) - specify __declspec(dllimport) when using the library. This again mingles the declspec into the name and declares the function / variable with external linkage. cmake automatically adds -Dgit2_EXPORTS to the compiler arguments when compiling the libgit2 project. The 'git2' is the name specified via PROJECT() in CMakeLists.txt.
Vicent Martí e49cb168 2012-05-14T11:03:30 Merge pull request #671 from nulltoken/topic/blob_create_fromdisk Add git_blob_create_fromdisk()
Vicent Martí 72bfde97 2012-05-14T11:01:14 Merge pull request #681 from scottjg/solaris-fixes Fix build/runtime issues on Solaris
Vicent Martí 27f5b7cf 2012-05-14T10:58:23 Merge pull request #682 from arrbee/attribute-cache-buster Attribute cache buster
Sascha Cunz 0c9a5565 2012-05-11T04:12:18 Add missing GIT_EXTERN declarations
Vicent Martí 546ca939 2012-05-14T10:50:20 Merge pull request #689 from scunz/visibility-gcc Use -fvisibility=hidden in GCC builds
Vicent Martí 0d6b776c 2012-05-14T10:49:42 Merge pull request #694 from nulltoken/topic/mergebase-test-coverage mergebase: enhance test code coverage
Russell Belfer 8f12d136 2012-05-14T09:37:13 Merge pull request #695 from nulltoken/topic/iterator_free_null_tolerant iterator: prevent git_iterator_free() from segfaulting when being passed a NULL iterator
Scott J. Goldman 212eb09d 2012-05-13T23:12:51 Add a test to verify FILENAME_MAX Since we now rely on it (at least under Solaris), I figured we probably want to make sure it's accurate. The new test makes sure that creating a file with a name of length FILENAME_MAX+1 fails.
nulltoken 87fe3507 2012-05-13T19:09:25 iterator: prevent git_iterator_free() from segfaulting when being passed a NULL iterator
nulltoken 7327a090 2012-05-13T12:21:00 mergebase: enhance test code coverage
Carlos Martín Nieto f0b350eb 2012-05-07T11:48:39 tests: make sure we clean up in objects/blob/write.c
nulltoken 6ca9643c 2012-05-06T21:00:20 blob: Add git_blob_create_fromdisk() This function will create blobs in the object database from files anywhere on the filesystem. This can be run against bare and non-bare repositories.
nulltoken 48ce97dd 2012-05-13T11:03:29 branch: cover with test that moving a non existing branch returns ENOTFOUND
nulltoken 341a7136 2012-05-13T10:17:52 branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Han-Wen Nienhuys 24634c6f 2012-05-12T15:01:39 Handle duplicate objects from different backends in git_odb_read_prefix().
Scott J. Goldman 6fb1c0b4 2012-05-09T23:45:55 Fix readdir_r() usage for Solaris On Solaris, struct dirent is defined differently than Linux. The field containing the path name is of size 0, rather than NAME_MAX. So, we need to use a properly sized buffer on Solaris to avoid a stack overflow. Also fix some DIR* leaks on cleanup.
Sascha Cunz b15bef23 2012-05-12T11:12:42 Use -fvisibility=hidden in GCC builds
Vicent Martí b72969e0 2012-05-12T01:51:58 Merge pull request #683 from arrbee/better-repo-init Improve repo initialization to be more like git
Vicent Martí cd062ee2 2012-05-12T01:42:21 Merge pull request #687 from nulltoken/fix/object-lookup-take-2 object: make git_object_lookup() return GIT_ENOTFOUND - The sequel
nulltoken e28c3776 2012-05-11T23:56:23 object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type This fix complements cb0ce16bbe8efe2098ef9cfffcf158301b036565 and cover the following additional use cases - retrieving an object which has been previously searched, found and cached - retrieving an object through an non ambiguous abbreviated id
Carlos Martín Nieto 41178b41 2012-05-11T21:49:33 examples: fix an oopsie
Russell Belfer db628072 2012-05-11T12:16:19 Fixed leaks and added tests
Scott J. Goldman b1ec25fa 2012-05-10T17:16:24 Fix comment typo in common.h
Scott J. Goldman 54bdc64a 2012-05-10T00:37:03 Fix rmdir() usage on Solaris On Solaris, rmdir() throws EEXIST if the folder is not empty, so just add one more case to check for that, alongside ENOTEMPTY.
Russell Belfer a7c09c0d 2012-05-10T11:15:37 Fixed mode on clar
Russell Belfer dc13f1f7 2012-05-10T11:08:59 Add cache busting to attribute cache This makes the git attributes and git ignores cache check stat information before using the file contents from the cache. For cached files from the index, it checks the SHA of the file instead. This should reduce the need to ever call `git_attr_cache_flush()` in most situations. This commit also fixes the `git_status_should_ignore` API to use the libgit2 standard parameter ordering.
Scott J. Goldman ec42eafd 2012-05-09T22:30:57 Hook up Windows compat fnmatch() for Solaris Since Solaris does not support some of the same flags as glibc fnmatch(), we just use the implementation we have for Windows. Now that it's no longer a windows-specific thing, I moved it into compat/ instead of win32/
Carlos Martín Nieto fb49bdf9 2012-05-10T16:52:12 examples: update network examples error handling Use giterr_last() and make sure it's not NULL.
Vicent Martí a9d9965b 2012-05-09T22:54:24 clar: Update from upstream
Vicent Martí 4374f187 2012-05-09T12:34:13 Merge pull request #678 from nulltoken/fix/msvc-weird-error Fix MSVC compilation issue
nulltoken 1956693f 2012-05-09T21:14:49 Fix MSVC compilation issue exp() is already defined in math.h. This leads to LMSVC complaining ..\..\libgit2\tests-clar\diff\blob.c(5): error C2365: 'exp' : redefinition; previous definition was 'function' Renaming the variable fixes this issue.
Russell Belfer dc34da6e 2012-05-08T13:50:40 Improve repo initialization to be more like git This adds a bunch of template files to the initialization for hooks, info/exclude, and description. This makes our initialized repo look more like core gits.
Russell Belfer 2aa1e94d 2012-05-09T10:30:34 Fix 64-bit build warning
Russell Belfer 075d6e7d 2012-05-09T10:18:54 Merge pull request #679 from nulltoken/fix/git__isspace util: Fix git__isspace() implementation
Michael Schubert b470019f 2012-05-09T18:01:23 tests-clar/diff: fix missing-prototype warning
Carlos Martín Nieto 11678b37 2012-05-09T16:18:13 fetch: filter tag annotation pseudo-refs while generating wants These objects aren't considered as being advertised, so asking for them will cause the remote end to close the connection. This makes the checking in update_tips() unnecessary, because they don't get inserted in the list.
Carlos Martín Nieto 0536afca 2012-05-09T14:10:30 remote: don't try to create tag annotations as refs/tags/v0.1.0^{} Skip them for now. Eventually we might want to filter these out earler.
nulltoken 9cd25d00 2012-05-09T13:21:21 util: Fix git__isspace() implementation The characters <space>, <form-feed>, <newline>, <carriage-return>, <tab>, and <vertical-tab> are part of the "space" definition. cf. http://www.kernel.org/doc/man-pages/online/pages/man5/locale.5.html
Carlos Martín Nieto a640d79e 2012-05-09T13:11:50 indexer: close the pack's fd before renaming it Windows gets upset if we rename a file with an open descriptor.
Vicent Martí 0f49200c 2012-05-09T04:37:02 msvc: Do not use `isspace` Locale-aware bullshit bitting my ass again yo
Vicent Martí e65752bb 2012-05-08T16:06:27 Merge pull request #677 from arrbee/status-without-head Add support for diffing index with no HEAD
Russell Belfer 7e000ab2 2012-05-08T15:03:59 Add support for diffing index with no HEAD When a repo is first created, there is no HEAD yet and attempting to diff files in the index was showing nothing because a tree iterator could not be constructed. This adds an "empty" iterator and falls back on that when the head cannot be looked up.
Vicent Martí fd5faae3 2012-05-08T23:55:37 message: Cleanup
Vicent Martí b1e2ba27 2012-05-08T23:43:52 message: Proper OOM handling
Vicent Martí c99bdacf 2012-05-08T14:13:43 Merge pull request #670 from nulltoken/ntk/topic/clean-commit_message Clean commit and tag messages
Russell Belfer 364f51bd 2012-05-08T13:56:21 Merge pull request #668 from nulltoken/topic/binary-blobs Enhancing the blob diffing experience
Vicent Martí 1f796cd1 2012-05-08T13:42:11 Merge pull request #676 from carlosmn/remotes Add git_remote_add() and change signature for _new()
Russell Belfer 19579847 2012-05-08T13:23:00 Clean up warnings and tests
Carlos Martín Nieto baaa8a44 2012-05-03T20:25:56 remotes: change git_remote_new's signature Add a fetch refspec arguemnt and make the arguments (name, url, refspec), as that order makes more sense.
Carlos Martín Nieto a209a025 2012-05-03T16:08:33 remote: add git_remote_add() Helper function to create a remote with the default settings
Carlos Martín Nieto 3df9cc59 2012-05-03T16:07:22 config: don't use freed memory on error Change the order and set a NULL so we don't try to access freed memory in case of an error.
Russell Belfer 2c0cdc3a 2012-05-08T10:40:01 Merge pull request #674 from nulltoken/topic/GIT_ENOTFOUND Improve the interop with bindings
Carlos Martín Nieto 65ca81a6 2012-05-08T14:28:21 Minor error fixes Clear the error in pkt when we notice that the remote is starting to send the packfile. Fix the format string for Windows networking errors.
nulltoken 722c08af 2012-05-07T21:21:48 status: Prevent git_status_file() from returning ENOTFOUND when not applicable
nulltoken 464cf248 2012-05-07T17:25:16 repository: ensure git_repository_discover() returns ENOTFOUND when unable to find a repository given the constraints
nulltoken 0b0957a6 2012-05-07T17:04:06 fileops: replace integer usage with more explicit enum in some git_futils_rmdir_r() calls
nulltoken d7d8a0bf 2012-05-07T16:16:08 repository: ensure git_repository_open() returns ENOTFOUND when being passed a path leading to no repository
nulltoken 9abb5bca 2012-05-07T13:58:01 compat: make p_realpath Windows implementation be a bit more POSIX compliant and fail if the provided path does not lead to an existing entry
nulltoken 46811561 2012-05-07T13:56:42 path: Make git_path_prettify() properly handle ENOTDIR errno value
nulltoken cb0ce16b 2012-05-07T15:42:13 object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type
nulltoken 9fb70f37 2012-05-07T10:57:34 remote: make git_remote_load() return GIT_ENOTFOUND when the remote url cannot be retrieved from the config file
nulltoken 2fb9d6de 2012-05-07T10:04:50 remote: ensure the allocated remote is freed when an error occurs during its loading
Vicent Martí 8d89c8e9 2012-05-07T13:36:02 Merge pull request #672 from scottjg/more-mingw32-fixes More mingw32 compilation fixes.
Russell Belfer cba285d3 2012-05-07T13:30:27 Fix directory finding for attrs The fix to support attrs on bare repos went a little too far in trying to avoid using the working directory and ended up not processing the input path quite correctly.
Russell Belfer df0c8953 2012-05-07T10:20:49 Merge pull request #667 from nulltoken/fix/p_open compat: make p_open able to accept optional mode when passing the O_CREAT flag
Carlos Martín Nieto c2d82a65 2012-05-07T12:31:31 travis: run the tests verbosely
nulltoken 3191ae89 2012-05-06T13:04:12 compat: make p_open able to accept optional mode when passing the O_CREAT flag This has the nice side effect of making test_attr_repo__staging_properly_normalizes_line_endings_according_to_gitattributes_directives() test pass again on Windows. This test started to fail after commit 674a198 was applied.
nulltoken d1c4312a 2012-05-03T22:21:08 diff: improve git_diff_blobs() documentation
nulltoken 9a29f8d5 2012-05-04T07:55:09 diff: fix the diffing of two identical blobs
nulltoken 28ef7f9b 2012-05-03T17:25:01 diff: make git_diff_blobs() able to detect binary blobs
nulltoken cfe25b13 2012-05-03T16:11:40 tests: add two binary blobs to attr test repository - edf3dce -> assets.github.com/images/icons/emoji/alien.png?v5 - de863bf -> assets.github.com/images/icons/emoji/heart.png?v5
nulltoken 4f806761 2012-05-03T17:19:06 diff: fix the diffing of a concrete blob against a null one
nulltoken 245c5eae 2012-05-03T16:34:02 diff: When diffing two blobs, ensure the delta callback parameter is filled with relevant information
nulltoken 8d0f4675 2012-05-03T16:27:22 diff: remove unused parameter
nulltoken 458b9450 2012-03-01T17:03:32 commit/tag: ensure the message is cleaned up 'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior. Fix libgit2/libgit2sharp#117
Carlos Martín Nieto 9b62e40e 2012-05-07T11:28:26 clar helper: don't dereference giterr_last() if it's NULL It can cause segfaults if the call didn't set an error
Scott J. Goldman 901fbdad 2012-05-07T00:05:02 Define explicit _WIN32_WINNT version in makefile Previously, it was defined in netops.c, but it's also needed in one of the clar tests, so I figured we might as well just make it global for the whole project. Without it, the mingw32 linker won't resolve GetProcessId() (called from the core/errors.c clar test) because of some conditionals in windows.h.
Scott J. Goldman 17847c78 2012-05-06T23:58:41 Update clar to latest version Fixes the mingw32 build issues.
Carlos Martín Nieto 49ac5ac8 2012-05-06T13:17:25 transport git: don't use 'error' uninitialized
Vicent Martí 3972ca43 2012-05-05T22:14:02 compat: Add `stdarg.h` include
Vicent Martí cd58c15c 2012-05-05T16:47:20 Merge remote-tracking branch 'scottjg/fix-mingw32' into development Conflicts: src/netops.c src/netops.h src/transports/http.c tests-clar/clar
Vicent Martí 48ecd122 2012-05-05T14:22:53 Merge pull request #659 from libgit2/development-merge New-error-handling
Vicent Martí 4ef14af9 2012-05-05T14:22:06 Merge pull request #664 from arrbee/attrs-from-index Support git attrs from index (and bare repo)
Vicent Martí f95e8cc0 2012-05-05T14:18:10 notes: Cleanup error handling
Vicent Martí d3a60dc2 2012-05-05T14:14:58 Merge pull request #663 from schu/notes-honor-config Honor core.notesRef config option
Scott J. Goldman 35cdd261 2012-05-05T13:54:33 Fix unsigned/signed comparison on Windows in commitstagedfile.c
Scott J. Goldman b47e0a71 2012-05-05T13:52:48 Fix missing prototype warning in utf-conv.c
Scott J. Goldman b4b96d56 2012-05-05T13:30:33 Fix gitno_connect() error handling on Windows gitno_connect() can return an error or socket, which is fine on most platforms where sockets are file descriptors (signed int), but on Windows, SOCKET is an unsigned type, which is problematic when we are trying to test if the socket was actually a negative error code. This fix seperates the error code and socket in gitno_connect(), and fixes the error handling in do_connect() functions to compensate. It appears that git_connect() and the git-transport do_connect() functions had bugs in the non-windows cases too (leaking sockets, and not properly reporting connection error, respectively) so I went ahead and fixed those too.
Scott J. Goldman 06ac3e7f 2012-05-05T13:16:48 Fix clar generated code to compile on MINGW32 MINGW32 does not define _mktemp_s, so we can just use _mktemp instead. See the non-compressed/non-base64-encoded version of the patch here: http://gist.github.com/2605249
Russell Belfer 282283ac 2012-05-04T16:46:46 Fix valgrind issues There are three changes here: - correctly propogate error code from failed object lookups - make zlib inflate use our allocators - add OID to notfound error in ODB lookups