Log

Author Commit Date CI Message
Carlos Martín Nieto 0f85c208 2013-04-29T04:13:42 Merge pull request #1512 from carlosmn/push-delete-only Fix push for delete-only and add travis rules to test it
Carlos Martín Nieto fb42a22e 2013-04-29T02:15:51 travis: test push Create a test repository in the VM and set up git-daemon so we can use it to test the push code.
Carlos Martín Nieto 51e4da6d 2013-04-29T01:49:40 push: don't send a packfile when only issuing delete commands For update and create commands where all the objects are known to exist in the remote, we must send an empty packfile. However, if all we issue are delete commands, no packfile must be sent. Take this into consideration for push.
Vicent Martí 78bf2944 2013-04-25T17:42:44 Merge pull request #1504 from ethomson/git_atomic_ssize git_atomic_ssize for 64-bit atomics only on 64-bit platforms
Edward Thomson eb63fda2 2013-04-25T11:52:17 git_atomic_ssize for 64-bit atomics only on 64-bit platforms
Carlos Martín Nieto b4117e19 2013-04-24T20:09:42 docs: formatting fixes
Vicent Marti 879458e7 2013-04-24T15:52:33 repo: Add `git_repository__cleanup`
Vicent Martí 2370b4d7 2013-04-23T13:06:26 Merge pull request #1499 from arrbee/fix-diff-config-usage Support more diff config options and use the config cache more
Russell Belfer 687db88f 2013-04-22T16:45:36 Make sure diff output is cleared on error
Russell Belfer b1ff7004 2013-04-22T16:25:57 Improve diff config options handling This makes diff use the cvar cache for config options where possible, and also adds support for a number of other config options to diff including "diff.context", "diff.ignoreSubmodules", "diff.noprefix", "diff.mnemonicprefix", and "core.abbrev". To make this natural, this involved a rearrangement of the code that allocates the diff object vs. the code that initializes it based on the combination of options passed in by the user and read from the config. This commit includes tests for most of these new options as well.
Russell Belfer 6be368bf 2013-04-22T16:24:53 Clear repo config cache when cfgs are set This is a conservative change, but it seemed like the only safe thing to do -- i.e. clear the cvar cache when a config gets set.
Russell Belfer eac76c23 2013-04-22T14:27:36 Use config cache where possible This converts many of the config lookups that are done around the library to use the repository config cache. This was everything I could find that wasn't part of diff (which requires a larger fix).
Russell Belfer ab01cbd4 2013-04-22T14:24:12 Add configs to repo config cache This adds a bunch of additional config values to the repository config value cache and makes it easier to add a simple boolean config without creating enum values for each possible setting. Also, this fixes a bug in git_config_refresh where the config cache was not being cleared which could lead to potential incorrect values. The work to start using the new cached configs will come in the next couple of commits...
Russell Belfer 608d0466 2013-04-22T13:51:35 Make tree to tree diffs case sensitive When case insensitive tree iterators were added, we started reading the case sensitivity of the index to decide if the tree should be case sensitive. This is good for index-to-tree comparisons, but for tree-to-tree comparisons, we should really default to doing a case sensitive comparison unless the user really wants otherwise.
Linquize a5df71c1 2013-04-19T22:36:01 Support diff.context config
Ben Straub bd0a07f4 2013-04-23T12:28:59 Clone: replace fetch spec with custom value
Vicent Martí 495d6f07 2013-04-23T12:15:35 Merge pull request #1502 from nvloff/remote_refspecs_minor_fixes Remote refspecs minor fixes
Nikolai Vladimirov dfdf709e 2013-04-23T21:29:07 get last refspec in clone test
Vicent Martí 7915e6cc 2013-04-23T11:48:12 Merge pull request #1498 from libgit2/vmg/atomic64 64 bit atomic operations and shared cache memory usage
Vicent Marti a2378ae4 2013-04-23T20:42:29 opts: Add getter for cached memory
Vicent Martí 6c9dc12b 2013-04-23T11:37:40 Merge pull request #1501 from xavier-l/packbuilder-commit Added function to insert commit into pack
Nikolai Vladimirov a952b986 2013-04-23T21:28:28 remove git_remote_pushspec
Carlos Martín Nieto 9a9de29d 2013-04-23T19:08:13 Document the odb backend constructors
Xavier L 0b90366c 2013-04-23T12:27:38 Fixes indentation
Xavier L f0e37a8b 2013-04-23T12:22:29 Added function to insert commit into pack
Carlos Martín Nieto 6c1b6b7a 2013-04-23T16:21:47 examples: init the threading system
Vicent Marti a5de9044 2013-04-23T02:24:44 refs: Better error name
Vicent Marti d6c8688d 2013-04-23T02:22:15 Merge branch 'development' of https://github.com/libgit2/libgit2 into development
Vicent Marti 08a1b476 2013-04-23T02:21:42 Merge branch 'master' of https://github.com/libgit2/libgit2 into development
Russell Belfer fe719932 2013-04-22T10:39:24 Merge pull request #1497 from carlosmn/atomic-refcount Make refcounting atomic
Vicent Marti 920cbc98 2013-04-22T17:31:47 cache: More aggressive default
Vicent Marti a14163a7 2013-04-22T17:30:49 cache: Shared meter for memory usage
Vicent Marti f9774eea 2013-04-22T17:22:31 atomic: Add an atomic type for 64-bit operations
Carlos Martín Nieto 05b17964 2013-04-21T19:26:35 Make refcounting atomic
Vicent Martí d08dd728 2013-04-22T08:07:20 Merge pull request #1454 from libgit2/vmg/new-cache New caching
Vicent Marti d8771592 2013-04-22T17:04:52 cache: Max cache size, and evict when the cache fills up
Vicent Marti cf9709b6 2013-04-22T16:53:46 tests: Do not warn for unused variable
Vicent Marti 865e2dd4 2013-04-17T23:58:37 tests: Cleanup commit parse testing code
Russell Belfer 5d2d21e5 2013-04-16T15:00:43 Consolidate packfile allocation further Rename git_packfile_check to git_packfile_alloc since it is now being used more in that capacity. Fix the various places that use it. Consolidate some repeated code in odb_pack.c related to the allocation of a new pack_backend.
Russell Belfer 38eef611 2013-04-16T14:19:27 Make indexer use shared packfile open code The indexer was creating a packfile object separately from the code in pack.c which was a problem since I put a call to git_mutex_init into just pack.c. This commit updates the pack function for creating a new pack object (i.e. git_packfile_check()) so that it can be used in both places and then makes indexer.c use the shared initialization routine. There are also a few minor formatting and warning message fixes.
Russell Belfer c6289186 2013-04-15T16:31:04 Fixes for Windows cas/threading stuff
Russell Belfer e976b56d 2013-04-15T14:27:53 Add git__compare_and_swap and use it This removes the lock from the repository object and changes the internals to use the new atomic git__compare_and_swap to update the _odb, _config, _index, and _refdb variables in a threadsafe manner.
Russell Belfer 53607868 2013-04-15T00:09:03 Further threading fixes This builds on the earlier thread safety work to make it so that setting the odb, index, refdb, or config for a repository is done in a threadsafe manner with minimized locking time. This is done by adding a lock to the repository object and using it to guard the assignment of the above listed pointers. The lock is only held to assign the pointer value. This also contains some minor fixes to the other work with pack files to reduce the time that locks are being held to and fix an apparently memory leak.
Russell Belfer 116bbdf0 2013-04-16T12:08:21 clean up tree pointer casting
Russell Belfer 3f27127d 2013-04-16T11:51:02 Simplify object table parse functions This unifies the object parse functions into one signature that takes an odb_object.
Russell Belfer 78606263 2013-04-15T00:05:44 Add callback to git_objects_table This adds create and free callback to the git_objects_table so that more of the creation and destruction of objects can be table driven instead of using switch statements. This also makes the semantics of certain object creation functions consistent so that we can make better use of function pointers. This also fixes a theoretical error case where an object allocation fails and we end up storing NULL into the cache.
Russell Belfer 917f60c5 2013-04-12T13:04:08 Add tests for oidmap and new cache with threading This adds some basic tests for the oidmap just to make sure that collisions, etc. are dealt with correctly. This also adds some tests for the new caching that check if items are inserted (or not inserted) properly into the cache, and that the cache can hold up in a multithreaded environment without error.
Russell Belfer 24c70804 2013-04-12T12:59:38 Add mutex around mapping and unmapping pack files When I was writing threading tests for the new cache, the main error I kept running into was a pack file having it's content unmapped underneath the running thread. This adds a lock around the routines that map and unmap the pack data so that threads can effectively reload the data when they need it. This also required reworking the error handling paths in a couple places in the code which I tried to make consistent.
Russell Belfer b12b72ea 2013-04-12T12:44:51 Add range checking around cache opts Add a git_cache_set_max_object_size method that does more checking around setting the max object size. Also add a git_cache_size to read the number of objects currently in the cache. This makes it easier to write tests.
Russell Belfer badd85a6 2013-04-10T17:10:17 Use git_odb_object_data/_size whereever possible This uses the odb object accessors so we can change the internals more easily...
Vicent Marti ee12272d 2013-04-05T22:48:39 Global option setters
Vicent Marti e183e375 2013-04-05T22:38:14 Clear the cache when there are too many items to expire
Vicent Marti e16e2684 2013-04-04T02:09:32 No longer needed
Vicent Marti d9d423e4 2013-04-03T23:53:32 Some stats
Vicent Marti 064236ca 2013-04-03T23:39:42 Per-object max size
Vicent Marti cf7850a4 2013-04-03T23:09:54 Duplicated type object
Vicent Marti 8842c75f 2013-04-03T22:30:07 What has science done.
Vicent Marti c4e91d45 2013-04-03T20:57:30 Random eviction
Vicent Marti 6b90e244 2013-04-01T19:53:49 Per-object filtering
Vicent Marti 5df18424 2013-04-01T19:38:23 lol this worked first try wtf
Vicent Martí a92dd316 2013-04-22T07:44:52 Merge pull request #1489 from libgit2/vmg/dupe-odb-backends Do not allow duplicate ODB backends
Vicent Martí a472f887 2013-04-22T07:44:32 Merge pull request #1493 from carlosmn/remotes Revamp the refspec handling
Vicent Marti 0edad3cc 2013-04-22T16:41:56 Merge branch 'development' into vmg/dupe-odb-backends Conflicts: src/odb.c
Vicent Marti 4ef2c79c 2013-04-22T16:37:40 odb: Disable inode checks for Win32
Vicent Martí f063a758 2013-04-22T04:06:11 Merge pull request #1485 from libgit2/include-git2-sys Create include/git2/sys and move backend APIs there
Vicent Martí bfb4facb 2013-04-21T15:20:36 Merge pull request #1495 from jasperla/development Add missing prototype for p_realpath().
Jasper Lievisse Adriaanse 0d4a5b13 2013-04-22T00:13:35 Add missing prototype for p_realpath().
Russell Belfer 21ca0451 2013-04-21T12:52:17 Move git_reference__alloc to include/git2/sys Create a new include/git2/sys/refs.h and move the reference alloc functions there. Also fix some documentation issues and some minor code cleanups.
Russell Belfer 4dcd8780 2013-04-19T17:17:44 Move refdb_backend to include/git2/sys This moves most of the refdb stuff over to the include/git2/sys directory, with some minor shifts in function organization. While I was making the necessary updates, I also removed the trailing whitespace in a few files that I modified just because I was there and it was bugging me.
Russell Belfer 9233b3de 2013-04-19T13:17:29 Move git_commit_create_from_oids into sys/commit.h Actually this renames git_commit_create_oid to git_commit_create_from_oids and moves the API declaration to include/git2/sys/commit.h since it is a dangerous API for general use (because it doesn't check that the OID list items actually refer to real objects).
John Wiegley 92550398 2013-01-29T09:53:23 Added git_commit_create_oid
Russell Belfer 1384b688 2013-04-19T13:00:12 Move some low-level repo fns to include/git2/sys
John Wiegley 7cc3c920 2013-01-29T07:48:36 Added git_repository_new function
Russell Belfer 83cc70d9 2013-04-19T12:48:33 Move odb_backend implementors stuff into git2/sys This moves some of the odb_backend stuff that is related to the internals of an odb_backend implementation into include/git2/sys. Some of the stuff related to streaming I left in include/git2 because it seemed like it would be reasonably needed by a normal user who wanted to stream objects into and out of the ODB. Also, I added APIs for traversing the list of backends so that some of the tests would not need to access ODB internals.
Russell Belfer 83041c71 2013-04-19T11:52:04 Move git_config_backend to include/git2/sys Moving backend implementor objects into include/git2/sys so the APIs can be isolated from the ones that normal libgit2 users would be likely to use.
Vicent Martí 3a2a511b 2013-04-21T05:48:08 Merge pull request #1494 from nulltoken/fix/mailmap mailmap: Coalesce some identities
nulltoken 6b246887 2013-04-21T08:59:04 mailmap: Coalesce some identities
Carlos Martín Nieto 1be680c4 2013-04-20T19:13:47 refspec: unify the string and parsed data It used to be separate as an attempt to make the querying easier, but it didn't work out that way, so put all the data together. Add git_refspec_string() as well to get the original string, which is now stored alongside the independent parts.
Carlos Martín Nieto bc6374ea 2013-04-20T18:49:11 remote: allow querying for refspecs Introduce git_remote_{fetch,push}_refspecs() to get a list of refspecs from the remote and rename the refspec-adding functions to a less silly name. Use this instead of the vector index hacks in the tests.
Carlos Martín Nieto 4330ab26 2013-04-20T04:43:28 remote: handle multiple refspecs A remote can have a multitude of refspecs. Up to now our git_remote's have supported a single one for each fetch and push out of simplicity to get something working. Let the remotes and internal code know about multiple remotes and get the tests passing with them. Instead of setting a refspec, the external users can clear all and add refspecs. This should be enough for most uses, though we're still missing a querying function.
Carlos Martín Nieto e5a27f03 2013-04-20T15:25:39 config: allow setting multivars when none exist yet Adding a multivar when there are no variables with that name set should set the variable instead of failing.
Carlos Martín Nieto 8f24e65f 2013-04-20T16:20:21 Plug a couple of leaks
Vicent Martí cf97799e 2013-04-20T01:50:43 Merge pull request #1491 from ethomson/backends_dont_refdb alloc doesn't take a refdb
Edward Thomson 4e4eab52 2013-04-19T18:19:53 alloc doesn't take a refdb; git_refdb_free nicely in the tests
Carlos Martín Nieto 4a38143c 2013-04-19T23:55:37 remote: specify what values direction can mean in git_remote_connect() This fixes #1487
Vicent Marti a29c6b5f 2013-04-19T23:51:18 odb: Do not allow duplicate on-disk backends
Russell Belfer 9d8f97c9 2013-04-19T11:18:34 Merge pull request #1479 from arrbee/iterator-for-directory Add filesystem iterator variant
Ben Straub 743048f1 2013-04-19T10:29:50 Fix some minor issues
Russell Belfer 1af80a67 2013-04-18T16:13:52 Fix workdir iterator leak When attempting to create a workdir iterator for a bare repo, don't leak the iterator structure.
Russell Belfer 38fd8121 2013-04-18T14:48:20 Fix win64 warnings
Russell Belfer 9ea29c8f 2013-04-18T14:41:16 Fix fs iterator test on case sensitive fs
Russell Belfer 2aee1aa4 2013-04-18T14:35:13 Fix uninitialized var warnings
Russell Belfer 627d5908 2013-04-18T14:14:22 More filesystem iterator tests Refactors the helper function that builds a directory hierarchy and then made use of it to try more variations on filesystem iterator tests.
Russell Belfer fc57471a 2013-04-18T14:13:53 More filesystem iterator cleanup Renamed the callback functions and made some minor rearrangements to clean up the flow of some code.
Russell Belfer 71f85226 2013-04-18T11:11:38 Make workdir iterator use filesystem iterator This adds some hooks into the filesystem iterator so that the workdir iterator can just become a wrapper around it. Then we remove most of the workdir iterator code and just have it augment the filesystem iterator with skipping .git entries, updating the ignore stack, and checking for submodules.
Russell Belfer ff0ddfa4 2013-04-17T15:56:31 Add filesystem iterator variant This adds a new variant iterator that is a raw filesystem iterator for scanning directories from a root. There is still more work to do to blend this with the working directory iterator.
Vicent Martí 2b63dbfb 2013-04-18T06:01:41 Merge pull request #1482 from nviennot/error-name-email Return error for empty name/email
Carlos Martín Nieto f90391ea 2013-04-18T14:47:54 treebuilder: don't overwrite the error message
Nicolas Viennot 9e46f676 2013-04-18T00:55:20 Return error for empty name/email
Vicent Martí 53cb8757 2013-04-17T15:27:53 Merge pull request #1478 from ethomson/win32_typechange_test use a longer string for dummy data in test to avoid conflicting w/ index