summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1014 from arrbee/diff-rename-detectionVicent Martí2012-11-021-7/+63
|\ | | | | Initial implementation of diff rename detection
| * Move rename detection into new fileRussell Belfer2012-10-301-18/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves the naming for the rename related functionality moving it to be called `git_diff_find_similar()` and renaming all the associated constants, etc. to make more sense. I also moved the new code (plus the existing `git_diff_merge`) into a new file `diff_tform.c` where I can put new functions related to manipulating git diff lists. This also updates the implementation significantly from the last revision fixing some ordering issues (where break-rewrite needs to be handled prior to copy and rename detection) and improving config option handling.
| * Initial implementation of diff rename detectionRussell Belfer2012-10-231-7/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the basis for diff rename and copy detection, although it is based on simple SHA comparison right now instead of using a matching algortihm. Just as `git_diff_merge` can be used as a post-pass on diffs to emulate certain command line behaviors, there is a new API `git_diff_detect` which will update a diff list in-place, adjusting some deltas to RENAMED or COPIED state (and also, eventually, splitting MODIFIED deltas where the change is too large into DELETED/ADDED pairs). This also adds a new test repo that will hold rename/copy/split scenarios. Right now, it just has exact-match rename and copy, but the tests are written to use tree diffs, so we should be able to add new test scenarios easily without breaking tests.
* | Merge pull request #1038 from arrbee/doc-fixesVicent Martí2012-11-012-172/+239
|\ \ | | | | | | Improve docs, examples, warnings
| * | Improve docs, examples, warningsRussell Belfer2012-11-012-172/+239
| | | | | | | | | | | | | | | | | | This improves docs in some of the public header files, cleans up and improves some of the example code, and fixes a couple of pedantic warnings in places.
* | | index: Add `git_index_new`index-open-cleanupVicent Marti2012-11-011-0/+13
| | |
* | | index: Add git_index_write_treeVicent Marti2012-11-012-18/+32
|/ /
* | Merge pull request #1030 from pwkelley/transportsVicent Martí2012-11-012-1/+271
|\ \ | | | | | | Reorganize transport architecture
| * | Reorganize transport architecture (squashed 3)Philip Kelley2012-11-012-1/+271
| | |
* | | Add git_config_refresh() API to reload configRussell Belfer2012-10-301-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new API that allows users to reload the config if the file has changed on disk. A new config callback function to refresh the config was added. The modified time and file size are used to test if the file needs to be reloaded (and are now stored in the disk backend object). In writing tests, just using mtime was a problem / race, so I wanted to check file size as well. To support that, I extended `git_futils_readbuffer_updated` to optionally check file size in addition to mtime, and I added a new function `git_filebuf_stats` to fetch the mtime and size for an open filebuf (so that the config could be easily refreshed after a write). Lastly, I moved some similar file checking code for attributes into filebuf. It is still only being used for attrs, but it seems potentially reusable, so I thought I'd move it over.
* | | Merge pull request #1017 from arrbee/diff-patch-to-strVicent Martí2012-10-301-0/+28
|\ \ \ | | | | | | | | Add git_diff_patch_to_str API
| * | | Add git_diff_patch_printRussell Belfer2012-10-251-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a `git_diff_patch_print()` API which is more like the existing API to "print" a patch from an entire `git_diff_list` but operates on a single `git_diff_patch` object. Also, it rewrites the `git_diff_patch_to_str()` API to use that function (making it very small).
| * | | Add git_diff_patch_to_str APIRussell Belfer2012-10-241-0/+11
| | | | | | | | | | | | | | | | | | | | This adds an API to generate a complete single-file patch text from a git_diff_patch object.
* | | | Merge pull request #1026 from nulltoken/repo/stateVicent Martí2012-10-301-0/+6
|\ \ \ \ | | | | | | | | | | repo: enhance git_repository_state() detection
| * | | | repo: enhance git_repository_state() detectionnulltoken2012-10-271-0/+6
| | |/ / | |/| |
* | | | index refactoringEdward Thomson2012-10-291-88/+208
| | | |
* | | | stash: add git_stash_drop()nulltoken2012-10-261-0/+15
| | | |
* | | | stash: add git_stash_foreach()nulltoken2012-10-261-0/+40
| | | |
* | | | stash: add git_stash_save()nulltoken2012-10-261-0/+67
| | | |
* | | | error: add GITERR_STASH error typenulltoken2012-10-261-0/+1
| | | |
* | | | index: introduce git_index_owner()nulltoken2012-10-261-0/+8
| | | |
* | | | reflog: fix documentation typosnulltoken2012-10-261-3/+3
|/ / /
* | | Merge pull request #925 from nulltoken/topic/moving-branch-updates-configRussell Belfer2012-10-251-0/+18
|\ \ \ | | | | | | | | Updates config upon moving and deletion of branches
| * | | remote: introduce git_remote_rename()nulltoken2012-10-251-0/+18
| | | |
* | | | Merge pull request #990 from ben/clone-callbacksVicent Martí2012-10-255-36/+67
|\ \ \ \ | |/ / / |/| | | Progress callbacks
| * | | Remove 'bytes' param from git_remote_downloadBen Straub2012-10-241-3/+0
| | | |
| * | | Network progress: rename thingsBen Straub2012-10-243-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | git_indexer_stats and friends -> git_transfer_progress* Also made git_transfer_progress members more sanely named.
| * | | Fix documentation commentBen Straub2012-10-241-1/+2
| | | |
| * | | Update doc strings, warn about callback perfBen Straub2012-10-232-4/+11
| | | |
| * | | Checkout progress now reports completed/total stepsBen Straub2012-10-191-1/+2
| | | |
| * | | gitno_buffer: callback on each packetBen Straub2012-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | The fetch code takes advantage of this to implement a progress callback every 100kb of transfer.
| * | | Clone: in-line callbacks for progressBen Straub2012-10-191-2/+4
| | | | | | | | | | | | | | | | Also implemented in the git2 example.
| * | | Fetch/indexer: progress callbacksBen Straub2012-10-192-2/+19
| | | |
| * | | index: remove read_tree() progress indicatornulltoken2012-10-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git_index_read_tree() was exposing a parameter to provide the user with a progress indicator. Unfortunately, due to the recursive nature of the tree walk, the maximum number of items to process was unknown. Thus, the indicator was only counting processed entries, without providing any information how the number of remaining items.
| * | | Remove checkout_stats from git_cloneBen Straub2012-10-191-1/+0
| | | |
| * | | Convert checkout_* to use progress callbackBen Straub2012-10-191-7/+2
| | | |
| * | | Convert checkout_index to use progress callbackBen Straub2012-10-191-3/+8
| | | |
| * | | Add accessor for git_remote's stats fieldBen Straub2012-10-191-0/+5
| | | | | | | | | | | | | | | | Also converted the network example to use it.
| * | | Add git_indexer_stats field to git_remoteBen Straub2012-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | Also removing all the *stats parameters from external APIs that don't need them anymore.
| * | | Clone: fix indentationBen Straub2012-10-191-10/+12
| | | |
* | | | GIT_EUNMERGEDEdward Thomson2012-10-241-0/+1
| | | |
* | | | reset changes for mergeEdward Thomson2012-10-241-0/+16
| |/ / |/| |
* | | Fix example in commentIgnacio Casal Quinteiro2012-10-241-1/+1
| |/ |/|
* | Add config level support in the config APIyorah2012-10-231-24/+162
|/ | | | | | | Added `struct git_config_entry`: a git_config_entry contains the key, the value, and the config file level from which a config element was found. Added `git_config_open_level`: build a single-level focused config object from a multi-level one. We are now storing `git_config_entry`s in the khash of the config_file
* repository: TypoVicent Marti2012-10-191-1/+1
|
* errors: deploy GIT_EORPHANEDHEAD usagenulltoken2012-10-192-3/+6
|
* errors: introduce GIT_EORPHANEDHEADnulltoken2012-10-191-0/+1
|
* remote: support fetch cancelationCarlos Martín Nieto2012-10-181-0/+8
| | | | | | Introduce git_remote_stop() which sets a variable that is checked by the fetch process in a few key places. If this is variable is set, the fetch is aborted.
* Merge pull request #968 from arrbee/diff-support-typechangeRussell Belfer2012-10-174-43/+93
|\ | | | | Support TYPECHANGE records in status and adjust checkout accordingly
| * Move enum comments next to actual valuesRussell Belfer2012-10-092-65/+66
| |