include/git2


Log

Author Commit Date CI Message
Ben Straub b31667fb 2012-07-27T20:29:06 Checkout: add head- and ref-centric checkouts. Renamed git_checkout_index to what it really was, and removed duplicate code from clone.c. Added git_checkout_ref, which updates HEAD and hands off to git_checkout_head. Added tests for the options the caller can pass to git_checkout_*.
Ben Straub a4827a5b 2012-07-27T11:17:21 Merge remote-tracking branch 'upstream/development' into test-merge
Vicent Martí 60d5cc57 2012-07-27T09:52:44 Merge pull request #834 from carlosmn/network-callbacks Add a struct for network callbacks
Vicent Marti f0244463 2012-07-27T18:49:37 branch: Add `repository` argument to `create` Yes, we can get the repository from the owner of the object, but having it marked explicitly makes the API more consistent.
Vicent Marti b41a30bd 2012-07-27T18:45:55 Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development
Vicent Marti b84f75c3 2012-07-27T18:43:02 reflog: Rename `entry_drop` to `drop`
Vicent Marti 43b67d49 2012-07-27T18:39:40 Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development
Ben Straub 095ccc01 2012-07-26T16:31:49 Checkout: implementation of most options
Sascha Cunz 76501590 2012-07-25T01:33:15 Remotes: Setter for url+pushurl; Getter for pushurl
Ben Straub b401bace 2012-07-26T13:12:21 Restructure for better checkout options * Removed the #define for defaults * Promoted progress structure to top-level API call argument
Ben Straub ef9905c9 2012-07-26T12:58:44 checkout: introduce git_checkout_opts Refactor checkout into several more-sensible entry points, which consolidates common options into a single structure that may be passed around.
nulltoken 40c75652 2012-07-21T12:33:46 reflog: prevent git_reflog_append() from persisting the reflog back to disk
nulltoken ae833178 2012-07-21T12:32:02 reflog: prevent git_reflog_read() from chocking when no log exists yet
nulltoken bd72425d 2012-07-18T20:12:45 reflog: introduce git_reflog_write()
nulltoken d284b3de 2012-07-16T12:12:53 reflog: rename git_reflog_write() to git_reflog_append()
nulltoken 59341a5d 2012-07-16T18:31:22 reflog: introduce git_reflog_entry_drop()
nulltoken ef4d795e 2012-07-20T16:39:22 refs: drop git_reference_remote_tracking_from_branch()
nulltoken fb910281 2012-07-20T16:38:54 branch: introduce git_branch_tracking()
nulltoken bf9e8cc8 2012-07-20T16:34:08 branch: make git_branch_move() reference based
nulltoken abee7bd3 2012-07-20T16:31:17 branch: slight git_branch_create() doc improvement
nulltoken 88bcd515 2012-07-20T16:27:56 branch: introduce git_reference_is_branch()
nulltoken eed378b6 2012-07-20T16:19:04 branch: introduce git_branch_lookup()
nulltoken b308c11e 2012-07-19T15:39:16 branch: change git_branch_create() to make it return a reference
yorah a1773f9d 2012-07-23T18:16:09 Add flag to turn off pathspec testing for diff and status
Carlos Martín Nieto b3aaa7a7 2012-07-21T17:52:51 Add a struct for network callbacks Currently only update_tips is used, but it prepares the way for progress output during download.
Vicent Martí 5b786963 2012-07-21T07:56:59 Merge pull request #818 from nulltoken/rework Revparse rework
nulltoken db9be945 2012-07-15T11:06:15 object: introduce git_object_peel() Partially fix #530
Ben Straub bfc65634 2012-07-17T08:08:34 Merge branch 'development' into clone
Vicent Marti 227f3131 2012-07-15T14:11:58 attr: Rename the `git_attr__` exports Pevents collisions with the original libgit, which also exports those exact symbols. Fixes #822
Ben Straub deac801d 2012-07-13T15:50:23 Fix documentation comment to match actual params.
Carlos Martín Nieto 1ebe432e 2012-07-12T20:33:30 commit: properly export git_commit_nth_gen_ancestor()
Vicent Martí dd4345b4 2012-07-12T09:42:54 Merge pull request #789 from carlosmn/odb-foreach odb: add git_odb_foreach()
Vicent Martí 0cf6b2f2 2012-07-12T09:37:09 Merge pull request #805 from nulltoken/fix/revwalk-email-parsing Fix revwalk email parsing
Vicent Martí db2d4061 2012-07-12T09:35:35 Merge pull request #814 from nulltoken/topic/revparse-refac Revparse refactoring: a start
Vicent Martí 48bcf81d 2012-07-12T09:32:44 Merge pull request #812 from arrbee/assorted-tweaks Assorted goodies
nulltoken 84f18e35 2012-07-12T00:44:07 refs: introduce git_reference_remote_tracking_from_branch()
nulltoken b1aca6ea 2012-07-11T16:14:12 commit: introduce git_commit_nth_gen_ancestor()
nulltoken 8aedf1d5 2012-07-05T17:02:03 signature: prevent angle bracket usage in identity
Vicent Martí a13a30ac 2012-07-11T05:29:51 Merge pull request #801 from nulltoken/fix/ref-renaming refs and revparse love <3
Russell Belfer 991a56c7 2012-07-10T15:35:38 Add flag to write gitlink on setting repo workdir This added a flag to the `git_repository_set_workdir()` function that enables generation of a `.git` gitlink file that links the new workdir to the parent repository. Essentially, the flag tells the function to write out the changes to disk to permanently set the workdir of the repository to the new path. If you pass this flag as true, then setting the workdir to something other than the default workdir (i.e. the parent of the .git repo directory), will create a plain file named ".git" with the standard gitlink contents "gitdir: <repo-path>", and also update the "core.worktree" and "core.bare" config values. Setting the workdir to the default repo workdir will clear the core.worktree flag (but still permanently set core.bare to false). BTW, the libgit2 API does not currently provide a function for clearing the workdir and converting a non-bare repo into a bare one.
Russell Belfer b3ff1dab 2012-07-10T15:22:39 Adding git_config_foreach_match() iteration fn Adding a new config iteration function that let's you iterate over just the config entries that match a particular regular expression. The old foreach becomes a simple use of this with an empty pattern. This also fixes an apparent bug in the existing `git_config_foreach` where returning a non-zero value from the iteration callback was not correctly aborting the iteration and the returned value was not being propogated back to the caller of foreach. Added to tests to cover all these changes.
Russell Belfer 4d3a7b78 2012-07-10T21:45:16 Merge pull request #793 from libgit2/tree-entry-by-path Bring back `entry_bypath`
Russell Belfer 19017a24 2012-07-10T16:24:17 Merge pull request #797 from yorah/fix/inter-hunk-context diff: make inter-hunk-context default value git-compliant
nulltoken 33c33707 2012-07-04T12:20:43 refs: deploy git_reference_has_log()
nulltoken 75261421 2012-07-04T11:58:04 refs: add git_reference_has_log()
Kevin Sawicki 4ea7c8c6 2012-07-03T12:35:33 Replace incorrect 'it' with 'if' in documentation
Carlos Martín Nieto 521aedad 2012-06-05T14:48:51 odb: add git_odb_foreach() Go through each backend and list every objects that exists in them. This allows fsck-like uses.
yorah 29f9186d 2012-07-02T11:18:01 diff: make inter-hunk-context default value git-compliant Default in git core is 0, not 3
Vicent Marti 46ea40d9 2012-06-29T17:08:36 tree: Rename `entry_copy` to `entry_dup`
Vicent Marti 0e2fcca8 2012-06-29T02:21:12 tree: Bring back `entry_bypath` Smaller, simpler, faster.
Carlos Martín Nieto 37159957 2012-06-28T09:33:08 indexer: don't use '/objects/pack/' unconditionally Not everyone who indexes a packfile wants to put it in the standard git repository location.
Vicent Martí c6713398 2012-06-25T23:27:35 Merge pull request #785 from nulltoken/topic/refs-fromglob Topic/refs fromglob
nulltoken 527ed554 2012-06-22T15:51:44 references: introduce git_reference_foreach_glob()
Vicent Marti 798e4d53 2012-06-22T21:25:17 amigaos: Cleanup
Vicent Marti 2ae052d1 2012-06-22T20:48:50 Merge branch 'pull-req' of https://github.com/chris-y/libgit2 into amigaos
Ben Straub 14741d62 2012-06-21T11:13:19 Clone: new home for git_checkout_force.
Ben Straub bb1f6087 2012-06-19T09:15:39 Add progress reporting to clone.
Ben Straub 764df57e 2012-06-15T13:14:43 Add git_clone and git_clone_bare. So far they only create a repo, setup the "origin" remote, and fetch. The API probably needs work as well; there's no way to get progress information at this point. Also uncovered a shortcoming; git_remote_download doesn't fetch over local transport.
nulltoken d4827081 2012-06-21T18:48:36 branch: drop git_branch_list()
nulltoken a8fd805e 2012-06-21T18:29:38 branch: add git_branch_foreach()
Vicent Martí c3ce8d0c 2012-06-19T15:17:35 Merge pull request #775 from arrbee/fix-index-filemodes Make index add/append support core.filemode flag
Russell Belfer 77d65af4 2012-06-19T15:16:38 Nicer constant
Russell Belfer da825c92 2012-06-19T14:27:02 Make index add/append support core.filemode flag This fixes git_index_add and git_index_append to behave more like core git, preserving old filemode data in the index when adding and/or appending with core.filemode = false. This also has placeholder support for core.symlinks and core.ignorecase, but those flags are not implemented (well, symlinks has partial support for preserving mode information in the same way that git does, but it isn't tested).
nulltoken 743a4b3b 2012-06-15T22:24:59 message: Expose git_message_prettify() git_commit() and git_tag() no longer prettify the message by default. This has to be taken care of by the caller. This has the nice side effect of putting the caller in position to actually choose to strip the comments or not.
Vicent Martí 31eed56b 2012-06-18T17:36:14 Merge pull request #753 from nulltoken/topic/merge-base-many Expose git_merge_base_many()
Chris Young a8df98c6 2012-06-14T18:57:24 Updates from comments on OS4 compatibility pull request http://github.com/libgit2/libgit2/pull/766
Chris Young a21bb1aa 2012-06-13T23:28:51 Merge remote-tracking branch 'source/development' into development
Carlos Martín Nieto 14ebe518 2012-06-12T15:23:00 Expose git_refspec_parse() This function has been available for some time, but never in a header. Expose it so we can use it from outside the library.
Chris Young 327fb51c 2012-06-09T18:13:07 Fix gethostbyname compatibility
Russell Belfer 145e696b 2012-06-08T11:56:24 Minor fixes, cleanups, and clarifications There are three actual changes in this commit: 1. When the trailing newline of a file is removed in a diff, the change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed to the callback. Previously, the `ADD_EOFNL` constant was given which was just an error in my understanding of when the various circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and should never be generated. A new newline is simply an `ADD`. 2. Rewrote the `diff_delta__merge_like_cgit` function that contains the core logic of the `git_diff_merge` implementation. The new version doesn't actually have significantly different behavior, but the logic should be much more obvious, I think. 3. Fixed a bug in `git_diff_merge` where it freed a string pool while some of the string data was still in use. This led to `git_diff_print_patch` accessing memory that had been freed. The rest of this commit contains improved documentation in `diff.h` to make the behavior and the equivalencies with core git clearer, and a bunch of new tests to cover the various cases, oh and a minor simplification of `examples/diff.c`.
Russell Belfer 0abd7244 2012-06-04T16:17:41 Fix filemode comparison in diffs File modes were both not being ignored properly on platforms where they should be ignored, nor be diffed consistently on platforms where they are supported. This change adds a number of diff and status filemode change tests. This also makes sure that filemode-only changes are included in the diff output when they occur and that filemode changes are ignored successfully when core.filemode is false. There is no code that automatically toggles core.filemode based on the capabilities of the current platform, so the user still needs to be careful in their .git/config file.
Chris Young fa56478f 2012-06-08T19:15:11 Generic needs compat files
Chris Young aa5a92d1 2012-06-08T18:57:35 OS4 compatibility
Chris Young 51975727 2012-06-07T23:13:39 Fix double-defines when using GIT_OLD_ERRORS
Chris Young 0f5e1f3b 2012-06-07T21:56:19 Network byte order is big-endian - the way it should be :)
Vicent Martí 3f035860 2012-06-07T22:43:03 misc: Fix warnings from PVS Studio trial
Vicent Martí 6c08e69f 2012-06-07T12:30:20 Merge pull request #669 from nulltoken/topic/reset Add git_reset()
Vicent Martí b9ebcc59 2012-06-07T12:29:31 Merge pull request #684 from benstraub/rev-parse Rev parse
Chris Young c3f35902 2012-06-07T20:29:22 Merge remote-tracking branch 'source/development' into update-test Merging main libgit2! Conflicts: CMakeLists.txt src/unix/map.c
nulltoken edebceff 2012-05-01T13:57:45 Add git_reset() Currently supports Soft and Mixed modes.
Vicent Martí cddb8efe 2012-06-07T11:34:48 Merge pull request #704 from nulltoken/topic/blob_fromchunks Add the ability to create blob given a provider of chunks of bytes
nulltoken cd445767 2012-05-27T15:00:05 blob: add git_blob_create_fromchunks()
nulltoken b46bdb22 2012-05-25T16:28:53 merge: Expose git_merge_base_many()
Vicent Martí 966fbdcb 2012-06-05T13:53:33 Merge pull request #697 from carlosmn/ssl Add HTTPS support
Ben Straub 56a5000d 2012-06-05T12:52:44 Merge branch 'development' into rev-parse Conflicts: src/util.h tests-clar/refs/branches/listall.c
Chris Young d0517805 2012-06-05T11:47:17 Required include for OS4 to typedef int64_t
nulltoken d05e2c64 2012-05-30T00:27:22 refspec: expose the force update specifier through git_refspec_force() accessor
Carlos Martín Nieto 250b95b2 2012-05-26T21:17:08 ssl: allow skipping the server certificate check Sometimes it's useful not to perform the check. Allow it to be configurable.
Carlos Martín Nieto dbb36e1b 2012-05-17T17:56:49 ssl: check certificates against the system's trusted CAs
Bruce Mitchener d73c94b2 2012-05-19T20:24:55 Fix spelling errors.
Vicent Marti ad5df35a 2012-05-19T01:40:46 libgit2 v0.17.0 "Lord of Diffstruction" 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>
Vicent Martí 904b67e6 2012-05-18T01:48:50 errors: Rename error codes
Vicent Martí e172cf08 2012-05-18T01:21:06 errors: Rename the generic return codes
Vicent Martí 2e2e9785 2012-05-18T00:42:24 Properly tag all `enums` with a `_t`
Vicent Martí 4fbd1c00 2012-05-17T20:35:48 refs: git_reference_listall -> git_reference_list
Vicent Martí fe3bcf7d 2012-05-11T12:20:19 errors: Remove old comments
Vicent Martí 29e948de 2012-05-10T10:38:10 global: Change parameter ordering in API Consistency is good.
nulltoken ee7680d5 2012-05-16T21:21:24 notes: make git_note_foreach() callback signature easier to cope with from a binding perspective
Vicent Martí 9d0011fd 2012-05-16T19:23:47 tree: Naming conventions
Vicent Martí cedf9ca9 2012-05-16T19:16:35 tree: Kill the `git_tree_diff` functions These are deprecated and replaced with the diffing code in git2/diff.h