include


Log

Author Commit Date CI Message
Russell Belfer 744cc03e 2012-10-30T12:10:36 Add git_config_refresh() API to reload config 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.
Vicent Martí efde4225 2012-10-30T12:04:28 Merge pull request #1017 from arrbee/diff-patch-to-str Add git_diff_patch_to_str API
Vicent Martí c4a9ded0 2012-10-30T12:03:22 Merge pull request #1026 from nulltoken/repo/state repo: enhance git_repository_state() detection
Edward Thomson f45ec1a0 2012-10-29T20:04:21 index refactoring
nulltoken 31966d20 2012-10-27T09:30:03 repo: enhance git_repository_state() detection
nulltoken e4c64cf2 2012-10-08T20:07:55 stash: add git_stash_drop()
nulltoken 23388413 2012-10-04T15:13:43 stash: add git_stash_foreach()
nulltoken 590fb68b 2012-10-04T13:47:45 stash: add git_stash_save()
nulltoken eb44cfe0 2012-10-08T15:49:31 error: add GITERR_STASH error type
nulltoken b1be9dd0 2012-10-03T12:09:17 index: introduce git_index_owner()
nulltoken f7ae3f75 2012-10-08T16:23:15 reflog: fix documentation typos
Russell Belfer cb7180a6 2012-10-25T11:48:39 Add git_diff_patch_print 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).
Russell Belfer 1b934689 2012-10-25T10:55:03 Merge pull request #925 from nulltoken/topic/moving-branch-updates-config Updates config upon moving and deletion of branches
nulltoken fcccf304 2012-09-09T20:39:13 remote: introduce git_remote_rename()
Vicent Martí 1eb8cd7f 2012-10-25T08:16:13 Merge pull request #990 from ben/clone-callbacks Progress callbacks
Russell Belfer 93cf7bb8 2012-10-24T20:56:32 Add git_diff_patch_to_str API This adds an API to generate a complete single-file patch text from a git_diff_patch object.
Edward Thomson 03bdb2ad 2012-10-23T16:32:01 GIT_EUNMERGED
Edward Thomson 632d8b23 2012-10-23T15:42:09 reset changes for merge
Ben Straub 1e3b8ed5 2012-10-24T14:07:07 Remove 'bytes' param from git_remote_download
Ben Straub 7d222e13 2012-10-24T13:29:14 Network progress: rename things git_indexer_stats and friends -> git_transfer_progress* Also made git_transfer_progress members more sanely named.
Ben Straub c4958e68 2012-10-24T12:38:05 Fix documentation comment
Ignacio Casal Quinteiro 4bc252e4 2012-10-24T11:27:03 Fix example in comment
Ben Straub c70ad945 2012-10-23T09:21:32 Update doc strings, warn about callback perf
yorah a1abe66a 2012-09-10T12:11:02 Add config level support in the config API 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
Ben Straub 9c05c17b 2012-10-19T20:05:18 Checkout progress now reports completed/total steps
Ben Straub 7bcd9e23 2012-10-19T19:23:32 gitno_buffer: callback on each packet The fetch code takes advantage of this to implement a progress callback every 100kb of transfer.
Ben Straub aa1e8674 2012-10-18T12:57:47 Clone: in-line callbacks for progress Also implemented in the git2 example.
Ben Straub 216863c4 2012-10-17T14:02:24 Fetch/indexer: progress callbacks
nulltoken 0ae81fc4 2012-10-17T15:30:22 index: remove read_tree() progress indicator 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.
Ben Straub 183d8bdd 2012-10-16T20:33:48 Remove checkout_stats from git_clone
Ben Straub 80642656 2012-10-16T20:23:10 Convert checkout_* to use progress callback
Ben Straub 2c8bbb27 2012-10-16T20:16:21 Convert checkout_index to use progress callback
Ben Straub d57c47dc 2012-10-16T13:29:12 Add accessor for git_remote's stats field Also converted the network example to use it.
Ben Straub 3028be07 2012-10-16T13:10:27 Add git_indexer_stats field to git_remote Also removing all the *stats parameters from external APIs that don't need them anymore.
Ben Straub 92f91b0e 2012-10-16T12:41:20 Clone: fix indentation
Vicent Marti 875b16eb 2012-10-19T23:44:49 repository: Typo
nulltoken 8b05bea8 2012-10-19T17:07:39 errors: deploy GIT_EORPHANEDHEAD usage
nulltoken c4f68b35 2012-10-19T11:04:32 errors: introduce GIT_EORPHANEDHEAD
Carlos Martín Nieto f0d2ddbb 2012-10-18T04:31:03 remote: support fetch cancelation 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.
Russell Belfer 4c47a8bc 2012-10-17T14:14:51 Merge pull request #968 from arrbee/diff-support-typechange Support TYPECHANGE records in status and adjust checkout accordingly
Ben Straub 6012e868 2012-10-17T11:55:26 Merge pull request #972 from PaulThompson/separate_strarray Separated git_strarray from common.h. Added doxy comments.
Vicent Martí 52748f7b 2012-10-16T08:36:55 Merge pull request #952 from csware/config-locations Config location fixes
Philip Kelley 9e37305a 2012-10-16T08:34:28 Merge pull request #984 from arrbee/fix-fnmatch-and-ignore Fix single file ignores
Russell Belfer 52032ae5 2012-10-15T12:48:43 Fix single-file ignore checks To answer if a single given file should be ignored, the path to that file has to be processed progressively checking that there are no intermediate ignored directories in getting to the file in question. This enables that, fixing the broken old behavior, and adds tests to exercise various ignore situations.
nulltoken 4d968f13 2012-10-15T06:12:57 clone: Explicit support of no-checkout option
Paul Thompson b46708aa 2012-10-11T23:04:08 Separated git_strarray from common.h. Added doxy comments.
Russell Belfer fe67e404 2012-10-09T14:35:24 Move enum comments next to actual values
Michael Schubert 0a32dca5 2012-08-19T22:26:32 gsoc-pack-objects WIP
Michael Schubert 2f05339e 2012-07-10T08:53:05 Add git_tag_foreach
Russell Belfer 0d64bef9 2012-10-05T15:56:57 Add complex checkout test and then fix checkout This started as a complex new test for checkout going through the "typechanges" test repository, but that revealed numerous issues with checkout, including: * complete failure with submodules * failure to create blobs with exec bits * problems when replacing a tree with a blob because the tree "example/" sorts after the blob "example" so the delete was being processed after the single file blob was created This fixes most of those problems and includes a number of other minor changes that made it easier to do that, including improving the TYPECHANGE support in diff/status, etc.
Russell Belfer 95f5f1e6 2012-10-02T13:57:15 Cleanup TYPECHANGE support This is just some cleanup code, rearranging some of the checkout code where TYPECHANGE support was added and adding some comments to the diff header regarding the constants.
Russell Belfer bc16fd3e 2012-09-28T13:40:02 Introduce status/diff TYPECHANGE flags When I wrote the diff code, I based it on core git's diff output which tends to split a type change into an add and a delete. But core git's status has the notion of a T (typechange) flag for a file. This introduces that into our status APIs and modifies the diff code so it can be forced to not split type changes.
Vicent Martí 21e0d297 2012-10-09T11:45:50 Merge pull request #967 from arrbee/diff-submodule-tests-and-fixes Diff submodule tests and fixes
Russell Belfer 5d1308f2 2012-10-08T15:19:00 Add test for diffs with submodules and bug fixes The adds a test for the submodule diff capabilities and then fixes a few bugs with how the output is generated. It improves the accuracy of OIDs in the diff delta object and makes the submodule output more closely mirror the OIDs that will be used by core git.
Russell Belfer dfbff793 2012-10-08T15:14:12 Fix a few diff bugs with directory content There are a few cases where diff should leave directories in the diff list if we want to match core git, such as when the directory contains a .git dir. That feature was lost when I introduced some of the new submodule handling. This restores that and then fixes a couple of related to diff output that are triggered by having diffs with directories in them. Also, this adds a new flag that can be passed to diff if you want diff output to actually include the file content of any untracked files.
nulltoken 0c78f685 2012-10-06T10:41:53 branch: introduce git_branch_is_head()
Russell Belfer eada0762 2012-10-02T10:45:40 Merge pull request #939 from pwkelley/ignorecase Support for the core.ignorecase flag
Sven Strickroth 4258d483 2012-10-02T17:21:07 Rename xdr to xdg Signed-off-by: Sven Strickroth <email@cs-ware.de>
Carlos Martín Nieto 3230a44f 2012-09-30T10:56:06 remote: support downloading all tags Also honor remote.$name.tagopt = --tags.
Carlos Martín Nieto f70e466f 2012-09-27T11:58:35 remote: add accessors for the autotag setting
Carlos Martín Nieto 24f2f94e 2012-09-15T08:07:24 fetch: use the include-tag capability This tells the remote to send us any tags that point to objects that we are downloading.
Carlos Martín Nieto 3665ba8e 2012-09-27T12:04:41 refspec: add git_refspec__free, remove git_refspec_parse The latter shouldn't be exposed and isn't used, git_refspec__parse supersedes it. Fix a leak in the refspec tests while we're at it.
Russell Belfer bae957b9 2012-09-25T16:31:46 Add const to all shared pointers in diff API There are a lot of places where the diff API gives the user access to internal data structures and many of these were being exposed through non-const pointers. This replaces them all with const pointers for any object that the user can access but is still owned internally to the git_diff_list or git_diff_patch objects. This will probably break some bindings... Sorry!
Russell Belfer 64286308 2012-09-25T10:48:50 Fix bugs in new diff patch code This fixes all the bugs in the new diff patch code. The only really interesting one is that when we merge two diffs, we now have to actually exclude diff delta records that are not supposed to be tracked, as opposed to before where they could be included because they would be skipped silently by `git_diff_foreach()`. Other than that, there are just minor errors.
Russell Belfer 5f69a31f 2012-09-24T20:52:34 Initial implementation of new diff patch API Replacing the `git_iterator` object, this creates a simple API for accessing the "patch" for any file pair in a diff list and then gives indexed access to the hunks in the patch and the lines in the hunk. This is the initial implementation of this revised API - it is still broken, but at least builds cleanly.
Russell Belfer 9a12a625 2012-09-18T15:13:07 New take on iterating over diff content Allow diff deltas to be accessed by index and make patch generation explicit with hunk and line access by index as well.
Vicent Martí 5942bd18 2012-09-25T14:53:13 Merge pull request #947 from arrbee/public-error-set Make giterr_set_str() and giterr_set_oom() public APIs
nulltoken 77e06d7e 2012-09-17T07:11:32 refs: introduce git_reference_is_valid_name()
nulltoken c030ada7 2012-09-11T12:06:57 refs: make git_reference_normalize_name() accept refspec pattern
Sven Strickroth 8b4f9b17 2012-09-24T18:59:00 Correctly read xdr compatible %HOME%/.config/git/config config file This file is not just read if the global config file (%HOME%/.gitconfig) is not found, however, it is used everytime but with lower priority. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth f55af775 2012-09-22T01:16:10 Make clear that git_odb_hashfile does not use filters Signed-off-by: Sven Strickroth <email@cs-ware.de>
Russell Belfer 1a628100 2012-09-21T15:04:39 Make giterr_set_str public There has been discussion for a while about making some set of the `giterr_set` type functions part of the public API for code that is implementing new backends to libgit2. This makes the `giterr_set_str()` and `giterr_set_oom()` functions public.
nulltoken 9e592583 2012-09-19T12:23:47 checkout: add notification callback for skipped files
Philip Kelley ec40b7f9 2012-09-17T15:42:41 Support for core.ignorecase
nulltoken 39783719 2012-09-17T20:27:28 checkout: Mimic git_diff_options storage of paths
nulltoken 44af67a8 2012-09-15T22:07:45 repository: introduce git_repository_set_head()
nulltoken 4ebe38bd 2012-09-15T22:07:09 repository: introduce git_repository_set_head_detached()
nulltoken 3f4c3072 2012-09-15T22:03:31 repository: introduce git_repository_detach_head()
nulltoken cc548c7b 2012-09-15T12:55:37 repository: fix documentation typo
nulltoken 5af61863 2012-09-14T11:15:49 checkout: drop git_checkout_reference()
nulltoken c214fa1c 2012-09-06T15:15:46 checkout: segregate checkout strategies
nulltoken ee8bb8ba 2012-08-19T21:24:51 reset: add support for GIT_RESET_HARD mode
nulltoken e93af304 2012-08-24T10:40:17 checkout: introduce git_checkout_index()
nulltoken 3aa443a9 2012-08-20T16:56:45 checkout: introduce git_checkout_tree()
Vicent Martí 9be2261e 2012-09-13T09:24:12 Merge pull request #927 from arrbee/hashfile-with-filters Add git_repository_hashfile to hash with filters
Russell Belfer a13fb55a 2012-09-11T17:26:21 Add tests and improve param checks Fixed some minor `git_repository_hashfile` issues: - Fixed incorrect doc (saying that repo could be NULL) - Added checking of object type value to acceptable ones - Added more tests for various parameter permutations
Russell Belfer 47bfa0be 2012-09-07T13:27:49 Add git_repository_hashfile to hash with filters The existing `git_odb_hashfile` does not apply text filtering rules because it doesn't have a repository context to evaluate the correct rules to apply. This adds a new hashfile function that will apply repository-specific filters (based on config, attributes, and filename) before calculating the hash.
Vicent Martí 21d847d3 2012-09-11T14:56:13 Merge pull request #920 from scunz/mergebase_const git_mergebase: Constness-Fix for consistency
Vicent Marti 412293dc 2012-09-11T23:38:16 Merge branch 'diff-crlf-filters' into development
Russell Belfer 1f35e89d 2012-09-11T12:03:33 Fix diff binary file detection In the process of adding tests for the max file size threshold (which treats files over a certain size as binary) there seem to be a number of problems in the new code with detecting binaries. This should fix those up, as well as add a test for the file size threshold stuff. Also, this un-deprecates `GIT_DIFF_LINE_ADD_EOFNL`, since I finally found a legitimate situation where it would be returned.
Russell Belfer eff14d38 2012-09-10T23:15:54 Merge pull request #906 from nulltoken/topic/git_reference_peel git reference peel
Russell Belfer e597b189 2012-09-10T11:49:12 Move diff max_size to public API This commit adds a max_size value in the public `git_diff_options` structure so that the user can automatically flag blobs over a certain size as binary regardless of other properties. Also, and perhaps more importantly, this moves binary detection to be as early as possible in the diff traversal inner loop and makes sure that we stop loading objects as soon as we decide that they are binary.
Russell Belfer b36effa2 2012-09-10T09:59:14 Replace git_diff_iterator_num_files with progress The `git_diff_iterator_num_files` API was problematic, since we don't actually know the exact number of files to be iterated over until we load those files into memory. This replaces it with a new `git_diff_iterator_progress` API that goes from 0 to 1, and moves and renamed the old API for the internal places that can tolerate a max value instead of an exact value.
Sascha Cunz 857323d4 2012-09-09T15:53:57 git_mergebase: Constness-Fix for consistency
Russell Belfer 17b06f4d 2012-09-07T15:49:08 Add missing accessor for fetchRecurseSubmodules When `git_submodule` became an opaque structure, I forgot to add accessor functions for the fetchRecurseSubmodules config setting. This fixes that.
Russell Belfer 8f9b6a13 2012-08-31T16:39:30 Better header comments
nulltoken 746642a6 2012-08-20T12:30:54 checkout: fix documentation code alignment
nulltoken bb2d305c 2012-08-22T10:47:25 errors: introduce GIT_EBAREREPO
nulltoken 31665948 2012-08-24T21:30:45 refs: introduce git_reference_peel() Fix #530
Vicent Martí 7a3fc9fb 2012-09-06T01:17:23 Merge pull request #900 from pwkelley/development Expose a malloc function to 3rd party ODB backends