summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1428 from xavier-l/nul-terminated-oidVicent Martí2013-03-251-0/+10
|\ | | | | Nul terminated oid
| * Added an oid function that accepts nul-terminated stringsXavier L2013-03-211-0/+10
| |
* | Remove GIT_SUCCESS from documentationMiquel Canes Gonzalez2013-03-241-1/+1
| |
* | graph: make the ahead-behind docs clearerCarlos Martín Nieto2013-03-221-5/+10
|/ | | | | 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.
* clone: fix param commentCarlos Martín Nieto2013-03-191-1/+1
|
* Fixes and cleanupsRussell Belfer2013-03-181-26/+0
| | | | | Get rid of some dead code, tighten things up a bit, and fix a bug with core::env test.
* Switch search paths to classic delimited stringsRussell Belfer2013-03-181-19/+14
| | | | | | | | | | | | 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.
* Implement global/system file search pathsRussell Belfer2013-03-152-10/+66
| | | | | | | | | | | | | | | | | | | | | | | 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.
* diff: allow asking for diffs with no contextCarlos Martín Nieto2013-03-091-1/+1
| | | | | | | | | 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.
* Merge pull request #1403 from ethomson/tracingVicent Martí2013-03-071-0/+68
|\ | | | | Optional tracing back to consumers
| * optional tracingEdward Thomson2013-03-071-0/+68
| |
* | refs: Dude, you're OUT.Vicent Marti2013-03-071-18/+0
| |
* | immutable references and a pluggable ref databaseEdward Thomson2013-03-076-65/+300
|/
* fixed minor issues with new note iteratorNico von Geyso2013-03-061-2/+4
| | | | | * fixed style issues * use new iterator functions for git_note_foreach()
* use git_note_iterator type instead of non-public git_iterator oneNico von Geyso2013-03-061-3/+10
|
* basic note iterator implementationNico von Geyso2013-03-061-0/+39
| | | | | * git_note_iterator_new() - create a new note iterator * git_note_next() - retrieves the next item of the iterator
* Make sure docurium can see git_packbuilder_foreachCarlos Martín Nieto2013-03-051-1/+1
|
* clear REUC on checkoutEdward Thomson2013-03-041-0/+8
|
* indexer: kill git_indexerCarlos Martín Nieto2013-03-031-48/+0
| | | | | | | 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.
* Merge pull request #1233 from arrbee/file-similarity-metricVicent Martí2013-02-271-31/+81
|\ | | | | Add file similarity scoring to diff rename/copy detection
| * Add diff rename tests with partial similarityRussell Belfer2013-02-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * Initial integration of similarity metric to diffRussell Belfer2013-02-211-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Replace diff delta binary with flagsRussell Belfer2013-02-201-26/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Refine pluggable similarity APIRussell Belfer2013-02-201-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Pluggable similarity metric APIRussell Belfer2013-02-201-0/+13
| |
* | pack.h: improve docs on how to create a packfileMichael Schubert2013-02-251-1/+27
| |
* | branch: Make git_branch_remote_name() cope with orphaned headsnulltoken2013-02-221-2/+2
|/
* push: fix typo in git_push_finish() docAlessandro Ghedini2013-02-151-1/+1
|
* push: improve docs on success / failure of git_push_finishMichael Schubert2013-02-141-0/+10
|
* Merge pull request #1333 from phkelley/push_optionsBen Straub2013-02-121-0/+32
|\ | | | | Add git_push_options, to set packbuilder parallelism
| * Add git_push_options, to set packbuilder parallelismPhilip Kelley2013-02-111-0/+32
| |
* | Merge pull request #1316 from ben/clone-cancelRussell Belfer2013-02-121-2/+6
|\ \ | | | | | | Allow network operations to cancel
| * | Document callback-triggered cancellationBen Straub2013-02-051-1/+5
| | |
| * | Allow progress callback to cancel fetchBen Straub2013-02-051-1/+1
| | | | | | | | | | | | | | | This works by having the indexer watch the return code of the callback, so will only take effect on object boundaries.
* | | remote: Introduce git_remote_is_valid_name()nulltoken2013-02-111-0/+8
| | | | | | | | | | | | Fix libgit2/libgit2sharp#318
* | | Merge pull request #1190 from nulltoken/topic/reset-pathsRussell Belfer2013-02-112-5/+29
|\ \ \ | | | | | | | | reset: Allow the selective reset of pathspecs
| * | | reset: Introduce git_reset_default()nulltoken2013-02-051-0/+23
| | | |
| * | | reset: Enhance documentationnulltoken2013-02-051-3/+3
| | | |
| * | | index: Enhance documentationnulltoken2013-02-051-2/+3
| |/ /
* | | Teach refspec to transform destination reference to source referenceJameson Miller2013-02-111-1/+12
| | |
* | | Teach remote branch to return its remoteJameson Miller2013-02-112-0/+34
| |/ |/|
* | diff: add a notify callback to `git_diff__from_iterators`yorah2013-02-071-34/+58
| | | | | | | | | | | | | | | | | | 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
* | No bitfields in public headers b/c packing is compiler-specificPhilip Kelley2013-02-072-2/+2
| |
* | Clone: fetch all tagsBen Straub2013-02-061-1/+1
|/
* Add user-from-url param to auth callbackBen Straub2013-01-312-0/+6
|
* Add helper for diff line statsRussell Belfer2013-01-301-0/+22
| | | | | | | | | | | | 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.
* Merge pull request #1285 from phkelley/vectorRussell Belfer2013-01-291-4/+6
|\ | | | | Vector improvements and their fallout
| * Vector improvements and their falloutPhilip Kelley2013-01-271-4/+6
| |
* | Added git_treebuilder_entrycountJohn Wiegley2013-01-281-0/+8
|/ | | | | Conflicts: src/tree.c
* Added git_branch_name().Sebastian Bauer2013-01-251-0/+18
| | | | | | | | | 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.