include/git2


Log

Author Commit Date CI Message
Vicent Marti ee12272d 2013-04-05T22:48:39 Global option setters
Vicent Marti e16e2684 2013-04-04T02:09:32 No longer needed
Vicent Martí a472f887 2013-04-22T07:44:32 Merge pull request #1493 from carlosmn/remotes Revamp the refspec handling
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.
John Wiegley 7cc3c920 2013-01-29T07:48:36 Added git_repository_new function
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
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.
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.
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 437d3666 2013-04-18T00:15:08 repository: Doc fix
Vicent Martí 0d9bf890 2013-04-17T14:59:28 Merge pull request #1475 from libgit2/vmg/refs-peel Allow access to the cached peel data in packed-refs
Vicent Marti 3be933b1 2013-04-17T17:33:51 refs: Add `git_referene_target_peel`
Vicent Marti a442ed68 2013-04-17T04:46:37 repository: Add `git_repository_open_bare`
Vicent Marti f124ebd4 2013-04-16T17:39:43 libgit2 0.18.0 "Big Ben" This is the last minor release before 1.0preview1. Highlights of this release include: - Branch API - Checkout head, index and tree - Finished clone support - Abstracted reference API to use custom backends - Full diff support - New (faster) packbuilder - Push support - New Remotes API - Revparse support (single and range commits) - Stash support - Submodules support As always, the full changelog is available at: http://libgit2.github.com/libgit2/#p/changelog Yeah, it's a huge release. Releasing stuff sucks. Expect 1.0 and API freeze in less than a month. Your faithful maintainer, vmg Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti e13a0647 2013-04-15T23:54:28 Update docs
Vicent Marti cbda09d0 2013-04-15T23:40:46 git_revision -> git_revspec
Vicent Marti 36c2dfed 2013-04-15T23:32:40 Is this crazy?
Vicent Marti d064c747 2013-04-15T23:18:24 Merge remote-tracking branch 'ben/unified-revparse' into development
Ben Straub 20156653 2013-04-15T13:29:40 Clean up minor details
Ben Straub 299a224b 2013-04-15T12:00:04 Change git_revparse to output git_object pointers This will probably prevent many lookup/free operations in calling code.
Ben Straub 4291ad07 2013-04-15T11:42:34 Reintroduce git_revparse_single.
Vicent Martí ea8bac37 2013-04-11T06:34:59 Merge pull request #1450 from carlosmn/branch-upstream Branch upstream configuration
Carlos Martín Nieto d59942c2 2013-03-30T04:27:42 branch: add more upstream configuration management Add functions to set and unset the upstream configuration to complement the getter we already have.
Vicent Marti 575a54db 2013-04-10T16:55:29 object: Export git_object_dup
Russell Belfer ad26434b 2013-04-09T14:52:32 Tests and more fixes for submodule diffs This adds tests for diffs with submodules in them and (perhaps unsurprisingly) requires further fixes to be made. Specifically, this fixes: - when considering if a submodule is dirty in the workdir, it was being treated as dirty even if only the index was dirty. - git_diff_patch_to_str (and git_diff_patch_print) were "printing" the headers for files (and submodules) that were unmodified or had no meaningful content. - added comment to previous fix and removed unneeded parens.
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 d9ecaf8c 2013-04-07T07:22:38 Merge remote-tracking branch 'gnprice/revwalk' into development
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>
Edward Thomson c869e268 2013-04-02T18:57:42 export git_reference__alloc
nulltoken b08c3173 2013-04-01T22:01:13 branch: Fix git_branch_create() documentation
Greg Price 804c5f56 2013-03-03T20:22:51 Fix puzzling doc comment Signed-off-by: Greg Price <price@mit.edu>
nulltoken 24cb87e2 2013-03-31T13:27:43 tag: Fix parsing when no tagger nor message
Carlos Martín Nieto a258d8e3 2013-03-30T03:39:19 branch: rename 'tracking' to 'upstream' The term 'tracking' is overloaded. Help distinguish what we mean by using 'upstream' for this part of the library.
Carlos Martín Nieto 81b8c9df 2013-03-30T04:50:53 transport: don't try to export nonexistent function
Vicent Martí 0b061b5b 2013-03-26T11:05:57 Merge pull request #1436 from schu/opts-cache-size opts: allow configuration of odb cache size
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).
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í 1f107478 2013-03-25T13:26:50 Merge pull request #1428 from xavier-l/nul-terminated-oid Nul terminated oid
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
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 0c8efb38 2013-03-21T11:59:01 Added an oid function that accepts nul-terminated strings
Carlos Martín Nieto 0b0ecbec 2013-03-19T17:42:10 clone: fix param comment
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.
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.
Carlos Martín Nieto 1aa5318a 2013-03-09T16:04:34 diff: allow asking for diffs with no context Previously, 0 meant default. This is problematic, as asking for 0 context lines is a valid thing to do. Change GIT_DIFF_OPTIONS_INIT to default to three and stop treating 0 as a magic value. In case no options are provided, make sure the options in the diff object default to 3.
Vicent Martí 6f83a781 2013-03-07T11:14:03 Merge pull request #1403 from ethomson/tracing Optional tracing back to consumers
Edward Thomson b5ec5430 2013-03-04T23:52:30 optional tracing
Vicent Marti 33abaad8 2013-03-07T18:58:34 refs: Dude, you're OUT.
Edward Thomson d00d5464 2013-03-01T15:37:33 immutable references and a pluggable ref database
Nico von Geyso f7b18502 2013-03-06T22:25:01 fixed minor issues with new note iterator * fixed style issues * use new iterator functions for git_note_foreach()
Nico von Geyso 1a90dcf6 2013-03-06T19:07:56 use git_note_iterator type instead of non-public git_iterator one
Nico von Geyso 6edb427b 2013-03-06T16:43:21 basic note iterator implementation * git_note_iterator_new() - create a new note iterator * git_note_next() - retrieves the next item of the iterator
Carlos Martín Nieto 3d74702e 2013-03-05T23:50:43 Make sure docurium can see git_packbuilder_foreach
Edward Thomson 5bddabcc 2013-03-04T17:40:48 clear REUC on checkout
Carlos Martín Nieto 447ae791 2013-03-03T15:19:21 indexer: kill git_indexer This was the first implementation and its goal was simply to have something that worked. It is slow and now it's just taking up space. Remove it and switch the one known usage to use the streaming indexer.
Vicent Martí e68e33f3 2013-02-27T14:50:32 Merge pull request #1233 from arrbee/file-similarity-metric Add file similarity scoring to diff rename/copy detection
Michael Schubert fcc265fe 2013-02-17T16:52:26 pack.h: improve docs on how to create a packfile
nulltoken c1b5e8c4 2013-02-15T11:35:33 branch: Make git_branch_remote_name() cope with orphaned heads
Russell Belfer d4b747c1 2013-02-21T16:44:44 Add diff rename tests with partial similarity This adds some new tests that actually exercise the similarity metric between files to detect renames, copies, and split modified files that are too heavily modified. There is still more testing to do - these tests are just partially covering the cases. There is also one bug fix in this where a change set with only MODIFY being broken into ADD/DELETE (due to low self-similarity) without any additional RENAMED entries would end up not processing the split requests (because the num_rewrites counter got reset).
Russell Belfer 960a04dd 2013-02-21T12:40:33 Initial integration of similarity metric to diff This is the initial integration of the similarity metric into the `git_diff_find_similar()` code path. The existing tests all pass, but the new functionality isn't currently well tested. The integration does go through the pluggable metric interface, so it should be possible to drop in an alternative to the internal metric that libgit2 implements. This comes along with a behavior change for an existing interface; namely, passing two NULLs to git_diff_blobs (or passing NULLs to git_diff_blob_to_buffer) will now call the file_cb parameter zero times instead of one time. I know it's strange that that change is paired with this other change, but it emerged from some initialization changes that I ended up making.
Russell Belfer 71a3d27e 2013-02-08T10:06:47 Replace diff delta binary with flags Previously the git_diff_delta recorded if the delta was binary. This replaces that (with no net change in structure size) with a full set of flags. The flag values that were already in use for individual git_diff_file objects are reused for the delta flags, too (along with renaming those flags to make it clear that they are used more generally). This (a) makes things somewhat more consistent (because I was using a -1 value in the "boolean" binary field to indicate unset, whereas now I can just use the flags that are easier to understand), and (b) will make it easier for me to add some additional flags to the delta object in the future, such as marking the results of a copy/rename detection or other deltas that might want a special indicator. While making this change, I officially moved some of the flags that were internal only into the private diff header. This also allowed me to remove a gross hack in rename/copy detect code where I was overwriting the status field with an internal value.
Russell Belfer 9bc8be3d 2013-02-19T10:25:41 Refine pluggable similarity API This plugs in the three basic similarity strategies for handling whitespace via internal use of the pluggable API. In so doing, I realized that the use of git_buf in the hashsig API was not needed and actually just made it harder to use, so I tweaked that API as well. Note that the similarity metric is still not hooked up in the find_similarity code - this is just setting out the function that will be used.
Russell Belfer a235e9d3 2013-02-15T14:12:43 Pluggable similarity metric API
Alessandro Ghedini 91f7335e 2013-02-15T13:12:03 push: fix typo in git_push_finish() doc
Michael Schubert a53b5e5f 2013-02-14T20:20:18 push: improve docs on success / failure of git_push_finish
Ben Straub 6a0ffe84 2013-02-12T10:50:55 Merge pull request #1333 from phkelley/push_options Add git_push_options, to set packbuilder parallelism
Russell Belfer 9c258af0 2013-02-12T10:13:56 Merge pull request #1316 from ben/clone-cancel Allow network operations to cancel
nulltoken 2bca5b67 2013-02-07T23:44:18 remote: Introduce git_remote_is_valid_name() Fix libgit2/libgit2sharp#318
Russell Belfer 390a3c81 2013-02-11T11:44:00 Merge pull request #1190 from nulltoken/topic/reset-paths reset: Allow the selective reset of pathspecs
Jameson Miller db4bb415 2013-02-07T14:53:52 Teach refspec to transform destination reference to source reference
Jameson Miller 2e3e8c88 2013-02-08T11:05:47 Teach remote branch to return its remote
Philip Kelley b8b897bb 2013-02-11T08:28:53 Add git_push_options, to set packbuilder parallelism
yorah 0d64ba48 2013-01-25T17:35:46 diff: add a notify callback to `git_diff__from_iterators` The callback will be called for each file, just before the `git_delta_t` gets inserted into the diff list. When the callback: - returns < 0, the diff process will be aborted - returns > 0, the delta will not be inserted into the diff list, but the diff process continues - returns 0, the delta is inserted into the diff list, and the diff process continues
Philip Kelley fcd81bcf 2013-02-07T12:47:29 No bitfields in public headers b/c packing is compiler-specific
Ben Straub f393d4e8 2013-02-06T13:07:56 Clone: fetch all tags
Ben Straub b71bac9d 2013-02-05T12:03:41 Document callback-triggered cancellation
nulltoken a0c34c94 2013-01-20T13:27:28 reset: Introduce git_reset_default()
Ben Straub fe95ac1b 2013-02-05T10:59:58 Allow progress callback to cancel fetch This works by having the indexer watch the return code of the callback, so will only take effect on object boundaries.
nulltoken c67ffd4a 2013-01-20T12:08:12 reset: Enhance documentation
nulltoken 3f0ed118 2013-01-15T11:03:05 index: Enhance documentation
Ben Straub 7602cb7c 2013-01-31T10:44:57 Add user-from-url param to auth callback
Russell Belfer f1e2735c 2013-01-30T11:10:39 Add helper for diff line stats This adds a `git_diff_patch_line_stats()` API that gets the total number of adds, deletes, and context lines in a patch. This will make it a little easier to emulate `git diff --stat` and the like. Right now, this relies on generating the `git_diff_patch` object, which is a pretty heavyweight way to get stat information. At some future point, it would probably be nice to be able to get this information without allocating the entire `git_diff_patch`, but that's a much larger project.
Russell Belfer 4657fc1c 2013-01-29T13:54:08 Merge pull request #1285 from phkelley/vector Vector improvements and their fallout
John Wiegley 5fb98206 2013-01-28T15:56:04 Added git_treebuilder_entrycount Conflicts: src/tree.c
Philip Kelley 11d9f6b3 2013-01-27T14:17:07 Vector improvements and their fallout
Sebastian Bauer c253056d 2013-01-24T20:44:17 Added git_branch_name(). This is a convenience function to get the branch name of a given ref. The returned branch name is compatible with the name that can be supplied e.g. to git_branch_lookup(). That is, the prefixes "refs/heads" or "refs/remotes" are omitted. Also added a new test for testing the new function.
Philip Kelley 3fbd7485 2013-01-24T11:03:11 Merge pull request #1250 from jamill/push_update_tips Update remote tips on push
Vicent Marti a0f777c8 2013-01-23T23:44:34 opts: Add getters too