summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | blob: add git_blob_create_fromchunks()nulltoken2012-06-071-0/+42
| | |_|/ / | |/| | |
* | | | | Merge pull request #697 from carlosmn/sslVicent Martí2012-06-052-0/+10
|\ \ \ \ \ | |_|_|/ / |/| | | | Add HTTPS support
| * | | | ssl: allow skipping the server certificate checkCarlos Martín Nieto2012-05-261-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Sometimes it's useful not to perform the check. Allow it to be configurable.
| * | | | ssl: check certificates against the system's trusted CAsCarlos Martín Nieto2012-05-191-0/+1
| | | | |
* | | | | refspec: expose the force update specifier through git_refspec_force() accessornulltoken2012-05-301-0/+8
| |/ / / |/| | |
* | | | Fix spelling errors.Bruce Mitchener2012-05-1914-28/+28
|/ / /
* | | libgit2 v0.17.0 "Lord of Diffstruction"Vicent Marti2012-05-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Welcome to yet another libgit2 release, this one being the biggest we've shipped so far. Highlights on this release include diff, branches, notes and submodules support. The new diff API is shiny and powerful. Check it out. Apologies, one more time, to all the early adopters for the breaking API changes. We've been iterating on the error handling for the library until we reached its current state, which we believe it's significantly more usable both for normal users and for developers of bindings to other languages. Also, we've renamed a few legacy calls to ensure that the whole external API uses a consistent naming scheme. As always, check the API docs for the full list of new API calls and backwards-incompatible changes. http://libgit2.github.com/libgit2/ Changelog of new features follows: Attributes: - Added function macros to check attribute values instead of having to manually compare them - Added support for choosing the attribute loading order (workdir files vs index) and to skip the systems' default `.gitattributes` - Fixed issues when fetching attribute data on bare repositories Blob: - Added support for creating blobs from any file on disk (not restricted to the repository's working directory) - Aded support for smudge filters when writing blobs to the ODB - So far only CRLF normalization is available Branches: - Added a high-level branch API: - git_branch_create - git_branch_delete - git_branch_list - git_branch_move Commit: - Commit messages are now filtered to match Git rules (stripping comments and adding proper whitespacing rules) Config: - Added support for setting and getting multivars - Added `git_config_get_mapped` to map the value of a config variable based on its defaults Diff: - Added full diff API: - tree to tree - index to tree - workdir to index - workdir to tree - blob to blob - Added helper functions to print the diffs as valid patchfiles Error handling: - New design for the error handling API, taking into consideration the requirements of dynamic languages Indexer: - Added streaming packfile indexer Merge: - Added support for finding the merge base between two commits Notes: - Full git-notes support: - git_note_read - git_note_message/git_note_oid - git_note_create - git_note_remove - git_note_free - git_note_foreach References: - Added `git_reference_name_to_oid` helper to resolve a reference to its final OID - Added `git_reference_cmp` to compare two references with a stable order Remotes: - Added support for writing and saving remotes - `git_remote_add` - `git_remote_save` - Setters for all the attributes of a remote - Switched remote download to the new streaming packfile indexer - Fixed fetch on HTTP and Git under Windows - Added `git_remote_supported_url` helper to check if a protocol can be accessed by the library - Added `git_remote_list` Repository: - Made `git_repository_open` smarter when finding the `.git` folder. - Added `git_repository_open_ext` with extra options when opening a repository Revwalk: - Added support for pushing/hiding several references through a glob - Added helper to push/hide the current HEAD to the walker - Added helper to push/hide a single reference to the walker Status: - Greatly improved Status implementation using the new `diff` code as a backend Submodules: - Added a partial submodules API to get information about a submodule and list all the submodules in a repository - git_submodule_foreach - git_submodule_lookup Tag: - Added `git_tag_peel` helper to peel a tag to its pointed object - Tag messages are now filtered to match Git rules (stripping comments and adding proper whitespacing rules) Tree: - Killed the old `git_tree_diff` API, which is replaced by the new diff code. Signed-off-by: Vicent Marti <tanoku@gmail.com>
* | | errors: Rename error codesVicent Martí2012-05-188-18/+19
| | |
* | | errors: Rename the generic return codesVicent Martí2012-05-1821-137/+173
| | |
* | | Properly tag all `enums` with a `_t`Vicent Martí2012-05-185-26/+29
| | |
* | | refs: git_reference_listall -> git_reference_listVicent Martí2012-05-181-1/+1
| | |
* | | errors: Remove old commentsVicent Martí2012-05-181-13/+0
| | |
* | | global: Change parameter ordering in APIVicent Martí2012-05-182-28/+28
| | | | | | | | | | | | Consistency is good.
* | | notes: make git_note_foreach() callback signature easier to cope with from a ↵nulltoken2012-05-161-1/+12
| | | | | | | | | | | | binding perspective
* | | tree: Naming conventionsVicent Martí2012-05-161-1/+1
| | |
* | | tree: Kill the `git_tree_diff` functionsVicent Martí2012-05-161-34/+0
| | | | | | | | | | | | These are deprecated and replaced with the diffing code in git2/diff.h
* | | Merge pull request #702 from arrbee/fix-status-fileVicent Martí2012-05-161-11/+20
|\ \ \ | | | | | | | | Update git_status_file and add ranged iterators
| * | | Ranged iterators and rewritten git_status_fileRussell Belfer2012-05-151-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal of this work is to rewrite git_status_file to use the same underlying code as git_status_foreach. This is done in 3 phases: 1. Extend iterators to allow ranged iteration with start and end prefixes for the range of file names to be covered. 2. Improve diff so that when there is a pathspec and there is a common non-wildcard prefix of the pathspec, it will use ranged iterators to minimize excess iteration. 3. Rewrite git_status_file to call git_status_foreach_ext with a pathspec that covers just the one file being checked. Since ranged iterators underlie the status & diff implementation, this is actually fairly efficient. The workdir iterator does end up loading the contents of all the directories down to the single file, which should ideally be avoided, but it is pretty good.
* | | | Introduce GITERR_INDEXERCarlos Martín Nieto2012-05-151-0/+1
|/ / /
* | | Merge pull request #696 from nulltoken/topic/notes-listVicent Martí2012-05-141-0/+21
|\ \ \ | | | | | | | | Add git_note_foreach()
| * | | notes: add git_notes_foreach()nulltoken2012-05-141-0/+21
| | | |
* | | | Revert "Specifiy dllimport to MSVC if we're not building libgit2.dll"Vicent Martí2012-05-141-5/+1
|/ / / | | | | | | | | | This reverts commit 1093e2de22f6ca245b09d758a3510899a8362048.
* | | Specifiy dllimport to MSVC if we're not building libgit2.dllSascha Cunz2012-05-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building a "shared object" (DLL) in Windows includes 2 steps: - specify __declspec(dllexport) when building the library itself. MSVC will disallow itself from optimizing these symbols out and reference them in the PE's Exports-Table. Further, a static link library will be generated. This library contains the symbols which are exported via the declsepc above. The __declspec(dllexport) becomes part of the symbol-signature (like parameter types in C++ are 'mangled' into the symbol name, the export specifier is mingled with the name) - specify __declspec(dllimport) when using the library. This again mingles the declspec into the name and declares the function / variable with external linkage. cmake automatically adds -Dgit2_EXPORTS to the compiler arguments when compiling the libgit2 project. The 'git2' is the name specified via PROJECT() in CMakeLists.txt.
* | | Merge pull request #671 from nulltoken/topic/blob_create_fromdiskVicent Martí2012-05-141-0/+12
|\ \ \ | | | | | | | | Add git_blob_create_fromdisk()
| * | | blob: Add git_blob_create_fromdisk()nulltoken2012-05-131-0/+12
| |/ / | | | | | | | | | This function will create blobs in the object database from files anywhere on the filesystem. This can be run against bare and non-bare repositories.
* | | Merge pull request #681 from scottjg/solaris-fixesVicent Martí2012-05-141-1/+1
|\ \ \ | | | | | | | | Fix build/runtime issues on Solaris
| * | | Fix comment typo in common.hScott J. Goldman2012-05-101-1/+1
| |/ /
* | | Merge pull request #682 from arrbee/attribute-cache-busterVicent Martí2012-05-141-2/+2
|\ \ \ | | | | | | | | Attribute cache buster
| * | | Add cache busting to attribute cacheRussell Belfer2012-05-101-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the git attributes and git ignores cache check stat information before using the file contents from the cache. For cached files from the index, it checks the SHA of the file instead. This should reduce the need to ever call `git_attr_cache_flush()` in most situations. This commit also fixes the `git_status_should_ignore` API to use the libgit2 standard parameter ordering.
* | | Add missing GIT_EXTERN declarationsSascha Cunz2012-05-143-9/+9
|/ /
* | Merge pull request #670 from nulltoken/ntk/topic/clean-commit_messageVicent Martí2012-05-082-0/+9
|\ \ | | | | | | Clean commit and tag messages
| * | commit/tag: ensure the message is cleaned upnulltoken2012-05-072-0/+9
| | | | | | | | | | | | | | | | | | 'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior. Fix libgit2/libgit2sharp#117
* | | Merge pull request #668 from nulltoken/topic/binary-blobsRussell Belfer2012-05-081-0/+9
|\ \ \ | | | | | | | | Enhancing the blob diffing experience
| * | | diff: improve git_diff_blobs() documentationnulltoken2012-05-071-0/+8
| | | |
| * | | diff: make git_diff_blobs() able to detect binary blobsnulltoken2012-05-071-0/+1
| |/ /
* | | remotes: change git_remote_new's signatureCarlos Martín Nieto2012-05-081-2/+3
| | | | | | | | | | | | | | | Add a fetch refspec arguemnt and make the arguments (name, url, refspec), as that order makes more sense.
* | | remote: add git_remote_add()Carlos Martín Nieto2012-05-081-0/+10
|/ / | | | | | | Helper function to create a remote with the default settings
* | Merge pull request #664 from arrbee/attrs-from-indexVicent Martí2012-05-051-11/+155
|\ \ | | | | | | Support git attrs from index (and bare repo)
| * | Fix memory leaks and use after freeRussell Belfer2012-05-041-3/+3
| | |
| * | Support reading attributes from indexRussell Belfer2012-05-031-11/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the operation, we need to consider gitattributes in both the work dir and the index. This adds a parameter to all of the gitattributes related functions that allows user control of attribute reading behavior (i.e. prefer workdir, prefer index, only use index). This fix also covers allowing us to check attributes (and hence do diff and status) on bare repositories. This was a somewhat larger change that I hoped because it had to change the cache key used for gitattributes files.
* | | notes: add git_note_default_ref()Michael Schubert2012-05-031-0/+10
|/ / | | | | | | | | Add git_note_default_ref to allow easy retrieval of the currently set default notes reference.
* | Remove old and unused error codesVicent Martí2012-05-022-108/+8
| |
* | Merge branch 'new-error-handling' into developmentVicent Martí2012-05-0214-33/+512
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .travis.yml include/git2/diff.h src/config_file.c src/diff.c src/diff_output.c src/mwindow.c src/path.c tests-clar/clar_helpers.c tests-clar/object/tree/frompath.c tests/t00-core.c tests/t03-objwrite.c tests/t08-tag.c tests/t10-refs.c tests/t12-repo.c tests/t18-status.c tests/test_helpers.c tests/test_main.c
| * | Fix usage of "new" for fieldname in public headerRussell Belfer2012-05-021-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | This should restore the ability to include libgit2 headers in C++ projects. Cherry picked 2de60205dfea2c4a422b2108a5e8605f97c2e895 from development into new-error-handling.
| * | Merge remote-tracking branch 'carlosmn/remaining-errors' into new-error-handlingVicent Martí2012-05-011-0/+2
| |\ \ | | | | | | | | | | | | | | | | Conflicts: src/refspec.c
| | * | error handling: move the missing parts over to the new error handlingCarlos Martín Nieto2012-04-261-0/+2
| | | |
| * | | diff: provide more context to the consumer of the callbacksnulltoken2012-04-301-20/+17
| | | | | | | | | | | | | | | | Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
| * | | remote: add more doc on git_remote_freeMichael Schubert2012-04-281-0/+3
| |/ /
| * | remote: run a callback when updating the branch tipsCarlos Martín Nieto2012-04-251-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | This allows the caller to update an internal structure or update the user output with the tips that were updated. While in the area, only try to update the ref if the value is different from its old one.
| * | transports: buffer the git requests before sending themCarlos Martín Nieto2012-04-252-1/+2
| | | | | | | | | | | | | | | | | | Trying to send every single line immediately won't give us any speed improvement and duplicates the code we need for other transports. Make the git transport use the same buffer functions as HTTP.