Log

Author Commit Date CI Message
Ben Straub ec7e240b 2013-04-09T05:07:12 Add rev-list example to makefiles
Ben Straub 1aa21fe3 2013-04-09T05:03:51 Deprecate git_revparse_single and _rangelike
Ben Straub 8480eef7 2013-03-11T20:27:16 Implement unified git_revparse
Ben Straub 4d13d07a 2013-03-11T13:20:47 Propose unified rev-parse API
Vicent Marti 812e5aea 2013-04-07T07:23:08 test: Add missing NULLs
Vicent Marti d9ecaf8c 2013-04-07T07:22:38 Merge remote-tracking branch 'gnprice/revwalk' into development
Greg Price 8f7f5e55 2013-03-31T14:56:32 examples: rev-list This demonstrates parts of the interface for specifying revisions that Git users are familiar with from 'git rev-list', 'git log', and other Git commands. A similar query interface is used in out-of-core command-line programs that browse a Git repo (like 'tig'), and may be useful for an 'advanced search' interface in GUI or web applications. In this version, we parse all the query modifiers we can support with the existing logic in revwalk: basic include/exclude commits, and the ordering flags. More logic will be required to support '--grep', '--author', the pickaxe '-S', etc. Signed-off-by: Greg Price <price@mit.edu>
Greg Price af079d8b 2013-03-03T20:54:23 revwalk: Parse revision ranges All the hard work is already in revparse. Signed-off-by: Greg Price <price@mit.edu>
Greg Price b208d900 2013-03-20T10:01:58 revparse: Parse range-like syntax Signed-off-by: Greg Price <price@mit.edu>
Greg Price 2e233285 2013-03-20T09:39:20 examples: a test, for rev-list This test file could probably be improved by a framework like the one in git.git:t/, or by using a language like Python instead of shell. The other examples would benefit from tests too. Probably best to settle on a framework to write them in, then add more tests. Signed-off-by: Greg Price <price@mit.edu>
Vicent Martí 22744837 2013-04-04T11:46:54 Merge pull request #1456 from ben/fix-general-example Fix the general.c example to run against testrepo.git
Ben Straub f8591e51 2013-04-04T11:44:50 General example: run against testrepo.git Fixes #1455
Vicent Martí 432b8c11 2013-04-02T17:09:35 Merge pull request #1453 from ethomson/refdb_export Properly GIT_EXPORT git_reference__alloc
Edward Thomson c869e268 2013-04-02T18:57:42 export git_reference__alloc
Ben Straub 734aa826 2013-04-01T13:28:08 Merge pull request #1452 from nulltoken/fix/branch_doc branch: Fix git_branch_create() documentation
nulltoken b08c3173 2013-04-01T22:01:13 branch: Fix git_branch_create() documentation
Vicent Martí 08283cbd 2013-04-01T07:12:49 Merge pull request #1448 from phkelley/development Avoid pre-Win7 WinHTTP self-redirect quirk
Philip Kelley b39f9697 2013-03-31T23:04:14 Fix whitespace in src/win32/version.h
Philip Kelley 5c5eeba6 2013-03-31T22:22:33 Add git_has_win32_version helper
Greg Price 2932c882 2013-03-04T02:17:04 revwalk: refactor tests a bit Signed-off-by: Greg Price <price@mit.edu>
Greg Price 06e6eab0 2013-03-19T12:02:19 revwalk tests: better diagram of example repo The purported command output was already inaccurate, as the refs aren't where it shows. In any event, the labels a reader of this file really needs are the indices used in commit_sorting_*, to make it possible to understand them by referring directly from those arrays to the diagram rather than from the index arrays, to commit_ids, to the diagram. Add those. Signed-off-by: Greg Price <price@mit.edu>
Greg Price 804c5f56 2013-03-03T20:22:51 Fix puzzling doc comment Signed-off-by: Greg Price <price@mit.edu>
Vicent Martí c45d9c46 2013-03-31T14:07:15 Merge pull request #1451 from nulltoken/topic/support_taggerless_tags Support tags with no tagger nor message
Philip Kelley 8cc2f2d8 2013-03-31T12:10:27 Win32 error reporting: Support WinHTTP errors
nulltoken 24cb87e2 2013-03-31T13:27:43 tag: Fix parsing when no tagger nor message
nulltoken 5a5bd640 2013-03-31T13:53:40 tests: Fix indentations
Philip Kelley 0227fa2a 2013-03-30T21:36:04 Avoid pre-Win7 WinHTTP self-redirect quirk
Carlos Martín Nieto 81b8c9df 2013-03-30T04:50:53 transport: don't try to export nonexistent function
Edward Thomson f938259f 2013-03-29T16:44:00 Merge pull request #1446 from ethomson/free Clean up some memleaks in tests
Edward Thomson 0e60b637 2013-03-29T18:36:11 free!
Vicent Martí 1d5220dc 2013-03-29T10:13:54 Merge pull request #1445 from ethomson/reset_unmerged remove unmerged files during reset hard
Edward Thomson 54a1a042 2013-03-29T11:26:12 remove unmerged files during reset hard
Russell Belfer 8cfd54f0 2013-03-26T12:27:15 Fix Windows/Win32 warning
Vicent Martí 0b061b5b 2013-03-26T11:05:57 Merge pull request #1436 from schu/opts-cache-size opts: allow configuration of odb cache size
Vicent Martí 86d24ce4 2013-03-26T10:42:30 Merge pull request #1439 from arrbee/recurse-ignored-dirs Several diff and status fixes
Russell Belfer ccfa6805 2013-03-25T23:58:40 Fix some diff ignores and submodule dirty workdir This started out trying to look at the problems from issue #1425 and gradually grew to a broader set of fixes. There are two core things fixed here: 1. When you had an ignore like "/bin" which is rooted at the top of your tree, instead of immediately adding the "bin/" entry as an ignored item in the diff, we were returning all of the direct descendants of the directory as ignored items. This changes things to immediately ignore the directory. Note that this effects the behavior in test_status_ignore__subdirectories so that we no longer exactly match core gits ignore behavior, but the new behavior probably makes more sense (i.e. we now will include an ignored directory inside an untracked directory that we previously would have left off). 2. When a submodule only contained working directory changes, the diff code was always considering it unmodified which was just an outright bug. The HEAD SHA of the submodule matches the SHA in the parent repo index, and since the SHAs matches, the diff code was overwriting the actual status with UNMODIFIED. These fixes broke existing tests test_diff_workdir__submodules and test_status_ignore__subdirectories but looking it over, I actually think the new results are correct and the old results were wrong. @nulltoken had actually commented on the subdirectory ignore issue previously. I also included in the tests some debugging versions of the shared iteration callback routines that print status or diff information. These aren't used actively in the tests, but can be quickly swapped in to test code to give a better picture of what is being scanned in some of the complex test scenarios.
Russell Belfer 37ee70fa 2013-03-25T22:19:39 Implement GIT_STATUS_OPT_EXCLUDE_SUBMODULES This option has been sitting unimplemented for a while, so I finally went through and implemented it along with some tests. As part of this, I improved the implementation of GIT_DIFF_IGNORE_SUBMODULES so it be more diligent about avoiding extra work and about leaving off delta records for submodules to the greatest extent possible (though it may include them still if you are request TYPECHANGE records).
Vicent Martí d2a4a54b 2013-03-25T21:46:51 Merge pull request #1438 from ethomson/checkout_stat don't stat until the file is written
Edward Thomson d828f118 2013-03-25T18:16:02 don't stat until the file is written
Russell Belfer 0c289dd7 2013-03-25T16:40:16 Recursing into ignored dirs for diff and status This implements working versions of GIT_DIFF_RECURSE_IGNORED_DIRS and GIT_STATUS_OPT_RECURSE_IGNORED_DIRS along with some tests for the newly available behaviors. This is not turned on by default for status, but can be accessed via the options to the extended version of the command.
Vicent Martí f2850f33 2013-03-25T15:30:37 Merge pull request #1437 from phkelley/redirect http: Support 302 Found (arrbee did most of the work)
Philip Kelley f273b5d6 2013-03-25T18:15:54 Add a valgrind suppression for glibc's getaddrinfo cache
Philip Kelley 35e0f3c6 2013-03-25T17:59:30 Refine the redirect check condition
Vicent Martí f17951d6 2013-03-25T14:42:53 Merge pull request #1431 from libgit2/autocrlf-fixes Fix crlf handling, particularly when autocrlf=true
Philip Kelley 2c7f7a66 2013-03-25T17:35:36 http: Support 302 Found (arrbee did most of the work)
Russell Belfer 3658e81e 2013-03-25T14:20:07 Move crlf conversion into buf_text This adds crlf/lf conversion functions into buf_text with more efficient implementations that bypass the high level buffer functions. They attempt to minimize the number of reallocations done and they directly write the buffer data as needed if they know that there is enough memory allocated to memcpy data. Tests are added for these new functions. The crlf.c code is updated to use the new functions. Removed the include of buf_text.h from filter.h and just include it more narrowly in the places that need it.
Russell Belfer 050ab995 2013-03-25T14:13:53 Fix up checkout file contents checks This fixes of the file contents checks in checkout to give slightly better error messages by directly calling the underlying clar assertions so the file and line number of the top level call can be reported correctly, and renames the helpers to not start with "test_" since that is kind of reserved by clar. This also enables some of the CRLF tests on all platforms that were previously Windows only (by pushing a check of the native line endings into the test body).
Edward Thomson 4a15ea86 2013-03-21T14:02:25 don't convert CRLF to CRCRLF
Russell Belfer 1098cfae 2013-03-22T14:52:29 Test fixes and cleanup This fixes some places where the new tests were leaving the test area in a bad state or were freeing data they should not free. It also removes code that is extraneous to the core issue and fixes an invalid SHA being looked up in one of the tests (which was failing, but for the wrong reason).
Sven Strickroth b8acb775 2013-03-07T22:15:40 Added some tests for issue #1397 Signed-off-by: Sven Strickroth <email@cs-ware.de>
Russell Belfer 9733e80c 2013-03-22T10:44:45 Add has_cr_in_index check to CRLF filter This adds a check to the drop_crlf filter path to check it the file in the index already has a CR in it, in which case this will not drop the CRs from the workdir file contents. This uncovered a "bug" in `git_blob_create_fromworkdir` where the full path to the file was passed to look up the attributes instead of the relative path from the working directory root. This meant that the check in the index for a pre-existing entry of the same name was failing.
Vicent Marti 13640d1b 2013-03-25T21:39:11 oid: Do not parse OIDs longer than 40
Vicent Martí 1f107478 2013-03-25T13:26:50 Merge pull request #1428 from xavier-l/nul-terminated-oid Nul terminated oid
Vicent Marti c2ea65ee 2013-03-25T21:22:57 clar: Disable online tests. By now.
Russell Belfer f7110e6c 2013-03-25T10:11:32 Merge pull request #1427 from Lionelon/development Fix link issue in network examples
Russell Belfer c5b72fa2 2013-03-25T10:09:03 Merge pull request #1435 from mcanes/development Remove GIT_SUCCESS from documentation
Michael Schubert f5e28202 2013-03-25T13:38:43 opts: allow configuration of odb cache size Currently, the odb cache has a fixed size of 128 slots as defined by GIT_DEFAULT_CACHE_SIZE. Allow users to set the size of the cache via git_libgit2_opts(). Fixes #1035.
Miquel Canes Gonzalez c2186230 2013-03-24T12:34:00 Remove GIT_SUCCESS from documentation
Vicent Martí 3f21a23c 2013-03-23T12:10:23 Merge pull request #1432 from arrbee/update-clar Update clar and some test helpers clean up
Russell Belfer 1323c6d1 2013-03-22T14:27:56 Add cl_repo_set_bool and cleanup tests This adds a helper function for the cases where you want to quickly set a single boolean config value for a repository. This allowed me to remove a lot of code.
Russell Belfer 3ba01362 2013-03-20T11:46:03 Update cl_assert_equal_sz to be nicer This makes the size_t comparison test nicer (assuming that the values are actually not using the full length), and converts some cases that were using it for pointer comparison to use the macro that is designed for pointer comparison.
Russell Belfer 7202ec29 2013-03-20T11:47:34 Update to latest Clar
Carlos Martín Nieto 33a59401 2013-03-22T20:22:39 graph: make the ahead-behind docs clearer Explain it in local-upstream branch terms so it's easier to grasp than with the `one` and `two` naming from the merge-base code.
Xavier L. b3c17483 2013-03-21T14:50:28 Clarified string value
Xavier L 1e7b7523 2013-03-21T12:30:08 git_oid_fromstrn already sets a maximum on the length of the string
Xavier L 7e527ca7 2013-03-21T12:16:31 Added test case for new function
Xavier L 0c8efb38 2013-03-21T11:59:01 Added an oid function that accepts nul-terminated strings
lionel vitte e2886f1e 2013-03-20T21:13:43 Fix link issue in network examples
Vicent Martí 7dbf4039 2013-03-19T11:47:23 Merge pull request #1423 from arrbee/submodule-status-errors Three submodule status bug fixes
Carlos Martín Nieto 0b0ecbec 2013-03-19T17:42:10 clone: fix param comment
Russell Belfer 65025cb8 2013-03-18T17:24:13 Three submodule status bug fixes 1. Fix sort order problem with submodules where "mod" was sorting after "mod-plus" because they were being sorted as "mod/" and "mod-plus/". This involved pushing the "contains a .git entry" test significantly lower in the stack. 2. Reinstate behavior that a directory which contains a .git entry will be treated as a submodule during iteration even if it is not yet added to the .gitmodules. 3. Now that any directory containing .git is reported as submodule, we have to be more careful checking for GIT_EEXISTS when we do a submodule lookup, because that is the error code that is returned by git_submodule_lookup when you try to look up a directory containing .git that has no record in gitmodules or the index.
Vicent Martí 5b27bf7e 2013-03-18T16:17:14 Merge pull request #1417 from arrbee/opts-for-paths Implement opts interface for global/system file search paths
Russell Belfer 32460251 2013-03-18T15:54:35 Fixes and cleanups Get rid of some dead code, tighten things up a bit, and fix a bug with core::env test.
Russell Belfer 41954a49 2013-03-18T14:19:35 Switch search paths to classic delimited strings This switches the APIs for setting and getting the global/system search paths from using git_strarray to using a simple string with GIT_PATH_LIST_SEPARATOR delimited paths, just as the environment PATH variable would contain. This makes it simpler to get and set the value. I also added code to expand "$PATH" when setting a new value to embed the old value of the path. This means that I no longer require separate actions to PREPEND to the value.
Vicent Martí 50eb8520 2013-03-18T14:05:31 Merge pull request #1420 from KindDragon/static-code-analyzer-warnings Several warnings detected by static code analyzer fixed
Vicent Martí 677dce8a 2013-03-18T14:00:09 Merge pull request #1080 from carlosmn/config-set-null Failing config related test
Vicent Martí 15a63e21 2013-03-18T13:55:18 Merge pull request #1418 from QbProg/qb/cmake-msvc MSVC cmake improvements
Arkadiy Shapkin 10c06114 2013-03-17T04:46:46 Several warnings detected by static code analyzer fixed Implicit type conversion argument of function to size_t type Suspicious sequence of types castings: size_t -> int -> size_t Consider reviewing the expression of the 'A = B == C' kind. The expression is calculated as following: 'A = (B == C)' Unsigned type is never < 0
QbProg d66a7c06 2013-03-16T17:48:24 Fix for a cmake bug when using MSVC + Win64 + static libraries (see http://public.kitware.com/Bug/view.php?id=11240)
QbProg 08f32085 2013-03-16T17:38:27 Adds an option to select the CRT link mode ( static or dynamic ). This is useful when linking libgit2 statically, as the setting must match the linking program's one.
Russell Belfer 5540d947 2013-03-15T16:39:00 Implement global/system file search paths The goal of this work is to expose the search logic for "global", "system", and "xdg" files through the git_libgit2_opts() interface. Behind the scenes, I changed the logic for finding files to have a notion of a git_strarray that represents a search path and to store a separate search path for each of the three tiers of config file. For each tier, I implemented a function to initialize it to default values (generally based on environment variables), and then general interfaces to get it, set it, reset it, and prepend new directories to it. Next, I exposed these interfaces through the git_libgit2_opts interface, reusing the GIT_CONFIG_LEVEL_SYSTEM, etc., constants for the user to control which search path they were modifying. There are alternative designs for the opts interface / argument ordering, so I'm putting this phase out for discussion. Additionally, I ended up doing a little bit of clean up regarding attr.h and attr_file.h, adding a new attrcache.h so the other two files wouldn't have to be included in so many places.
Vicent Marti a5f61384 2013-03-15T12:24:20 odb_pack: Unused functions
Vicent Marti f16fb099 2013-03-15T12:11:02 pool: Internal struct name
Vicent Martí 5b229e20 2013-03-15T04:06:31 Merge pull request #1413 from arrbee/more-iterator-refactor Further tree_iterator refactoring
Vicent Martí e953c160 2013-03-14T16:11:31 Merge pull request #1414 from arrbee/more-build-warning-fixes Fix various build warnings
Russell Belfer 55e0f53d 2013-03-14T15:09:29 Fix various build warnings This fixes various build warnings on Mac and Windows (64-bit).
Russell Belfer 14bedad9 2013-03-14T15:08:04 Added pool freelist struct for readability This adds a git_pool_freelist_item struct that makes it a little easier to follow what's going on with the pool free list block management code. It is functionally neutral.
Russell Belfer d85296ab 2013-03-14T13:50:54 Fix valgrind issues (and mmap fallback for diff) This fixes a number of issues identified by valgrind - mostly missed free calls. Inside valgrind, mmap() may fail which causes some of the diff tests to fail. This adds a fallback code path to diff_output.c:get_workdir_content() where is the mmap() fails the code will now try to read the file data directly into allocated memory (which is what it would do if the data needed to be filtered anyhow).
Russell Belfer 0c468633 2013-03-14T13:40:15 Improved tree iterator internals This updates the tree iterator internals to be more efficient. The tree_iterator_entry objects are now kept as pointers that are allocated from a git_pool, so that we may use git__tsort_r for sorting (which is better than qsort, given that the tree is likely mostly ordered already). Those tree_iterator_entry objects now keep direct pointers to the data they refer to instead of keeping indirect index values. This simplifies a lot of the data structure traversal code. This also adds bsearch to find the start item position for range- limited tree iterators, and is more explicit about using git_path_cmp instead of reimplementing it. The git_path_cmp changed a bit to make it easier for tree_iterators to use it (but it was barely being used previously, so not a big deal). This adds a git_pool_free_array function that efficiently frees a list of pool allocated pointers (which the tree_iterator keeps). Also, added new tests for the git_pool free list functionality that was not previously being tested (or used).
Vicent Martí 6950dca4 2013-03-13T15:50:13 Merge pull request #1411 from arrbee/workdir-iterator-depth-limit-bug Fix workdir iterator bugs
Russell Belfer bbb13646 2013-03-13T14:59:51 Fix workdir iterator bugs This fixes two bugs with the workdir iterator depth check: first that the depth was not being decremented and second that empty directories were counting against the depth even though a frame was not being created for them. This also fixes a bug with the ENOTFOUND return code for workdir iterators when you attempt to advance_into an empty directory. Actually, that works correctly, but it was incorrectly being propogated into regular advance() calls in some circumstances. Added new tests for the above that create a huge hierarchy on the fly and try using the workdir iterator to traverse it.
Vicent Marti ad003763 2013-03-12T20:36:35 MSVC: What could possibly be the size of a void*?
Vicent Martí c6d7d877 2013-03-12T12:32:12 Merge pull request #1410 from phkelley/push_sideband Advertise and support side-band-64k when calling receive-pack
Philip Kelley f5898324 2013-03-12T15:31:14 Style: Reverse lhs and rhs of == comparisons
Philip Kelley b8c32580 2013-03-12T15:19:32 Advertise and support side-band-64k when calling receive-pack
Vicent Martí 1ac10aae 2013-03-12T09:23:53 Merge pull request #1408 from arrbee/refactor-iterators Refactor iterators
Russell Belfer 62beacd3 2013-03-11T16:43:58 Sorting function cleanup and MinGW fix Clean up some sorting function stuff including fixing qsort_r on MinGW, common function pointer type for comparison, and basic insertion sort implementation (which we, regrettably, fall back on for MinGW).
Vicent Martí b70bf922 2013-03-11T14:35:49 Merge pull request #1406 from cpthamilton/local_push Implemented push on the local transport
abepern 20858f6e 2013-02-19T06:22:58 Implemented push on the local transport
Russell Belfer a5eea2d7 2013-03-11T11:31:50 Stabilize order for equiv tree iterator entries Given a group of case-insensitively equivalent tree iterator entries, this ensures that the case-sensitively first trees will be used as the representative items. I.e. if you have conflicting entries "A/B/x", "a/b/x", and "A/b/x", this change ensures that the earliest entry "A/B/x" will be returned. The actual choice is not that important, but it is nice to have it stable and to have it been either the first or last item, as opposed to a random item from within the equivalent span.