include/git2


Log

Author Commit Date CI Message
Edward Thomson 30640aa9 2015-03-17T10:04:08 rebase: identify a rebase that has not started In `git_rebase_operation_current()`, indicate when a rebase has not started (with `GIT_REBASE_NO_OPERATION`) rather than conflating that with the first operation being in-progress.
Edward Thomson a0e652d2 2015-04-17T12:35:41 Merge pull request #2999 from pks-t/submodule-set-url Implement git_submodule_set_branch.
Edward Thomson 6f80bf4a 2015-04-16T19:12:28 Merge pull request #3037 from libgit2/cmn/hide-then-push Handle hide-then-push in the revwalk
Carlos Martín Nieto 05d92026 2015-04-13T18:03:03 revwalk: reword the push text As it seems it's not quite clear what it means to push a commit, try to be more explicit about adding a new root and that we may not see this commit if it is hidden.
Patrick Steinhardt 129788a6 2015-03-18T11:45:18 Implement git_submodule_set_branch.
Edward Thomson 623fbd93 2015-04-10T11:38:07 Merge pull request #2974 from libgit2/cmn/clone-everything Make sure to pack referenced objects for non-branches
Pierre-Olivier Latour 807566d5 2015-04-03T18:59:11 Entry argument passed to git_index_add_frombuffer() should be const
Edward Thomson c5e07187 2015-03-24T14:03:51 Merge pull request #2990 from leoyanggit/custom_param Add a custom param to git_smart_subtransport_definition
Edward Thomson 95d1624b 2015-03-24T08:34:12 Merge pull request #2947 from libgit2/cmn/notes-buf note: use a git_buf to return the default namespace
Edward Thomson 89ba9f1a 2015-03-18T13:17:04 Merge pull request #2967 from jacquesg/merge-whitespace Allow merges of files (and trees) with whitespace problems/fixes
Leo Yang 142e5379 2015-03-17T12:49:33 Add a custom param to git_smart_subtransport_definition The smart transport has already take the payload param. For the sub transport a payload param is useful for the implementer.
Carlos Martín Nieto a61fa4c0 2015-03-12T01:26:09 packbuilder: introduce git_packbuilder_insert_recur() This function recursively inserts the given object and any referenced ones. It can be thought of as a more general version of the functions to insert a commit or tree.
Carlos Martín Nieto 385449b1 2015-03-04T01:23:20 note: use a git_buf to return the default namespace The caller has otherwise no way to know how long the string will be allocated or ability to free it. This fixes #2944.
Edward Thomson 9bbc8f35 2015-03-17T10:21:28 Merge pull request #2962 from libgit2/cmn/reflog-annotated Add annotated versions of ref-modying functions
Edward Thomson 7800048a 2015-03-17T10:06:50 Merge pull request #2972 from libgit2/cmn/pack-objects-walk [WIP] Smarter pack-building
Carlos Martín Nieto 62dd4d71 2015-03-07T00:06:02 annotated_commit: provide a constructor from a revspec This extra constructor will be useful for the annotated versions of ref-modifying functions, as it allows us to create a commit with the extended sha syntax which was used to retrieve it.
Carlos Martín Nieto 62d38a1d 2015-03-06T23:51:40 Add annotated commit versions of reflog-modifying functions We do not always want to put the id directly into the reflog, but we want to speicfy what a user typed. For this use-case we provide annotated version of a few functions which let the caller specify what user-friendly name was used when asking for the operation.
Jacques Germishuys 74c37c2a 2015-03-12T13:16:09 Added options to enable patience and minimal diff drivers
Jacques Germishuys 13de9363 2015-03-12T12:36:09 Collapse whitespace flags into git_merge_file_flags_t
Jacques Germishuys f29dde68 2015-03-12T12:29:47 Renamed git_merge_options 'flags' to 'tree_flags'
Jacques Germishuys 45a86bbf 2015-03-09T17:02:52 Allow for merges with whitespace discrepancies
Carlos Martín Nieto 15f58174 2015-03-11T17:55:39 Merge commit 'refs/pull/2879/head' of ssh://github.com/libgit2/libgit2
Carlos Martín Nieto 04a36fef 2014-10-11T15:48:29 pack-objects: fill a packbuilder from a walk Most use-cases for the object packer communicate in terms of commits which each side has. We already have an object to specify this relationship between commits, namely git_revwalk. By knowing which commits we want to pack and which the other side already has, we can perform similar optimisations to git, by marking each tree as interesting or uninteresting only once, and not sending those trees which we know the other side has.
Carlos Martín Nieto 9a97f49e 2014-12-21T15:31:03 config: borrow refcounted references This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
Carlos Martín Nieto 4e498646 2015-01-15T16:50:31 repository: remove log message override for switching the active branch We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto 412a3808 2015-01-15T15:31:23 push: remove reflog message override We always use "update by push".
Carlos Martín Nieto 6bfb990d 2015-01-07T14:47:02 branch: don't accept a reflog message override This namespace is about behaving like git's branch command, so let's do exactly that instead of taking a reflog message. This override is still available via the reference namespace.
Carlos Martín Nieto 23a17803 2015-01-07T14:16:50 reset: remove reflog message override This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
Carlos Martín Nieto 659cf202 2015-01-07T12:23:05 Remove the signature from ref-modifying functions The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto 99b68a2a 2015-03-03T13:47:13 Merge pull request #2908 from ethomson/safe_create Allow checkout to handle newly cloned repositories, remove `GIT_CHECKOUT_SAFE_CREATE`
Edward Thomson bf1476f1 2015-03-02T10:35:26 win32: add the patch level to the .dll fileversion Win32 DLLs have four fields for the version number (major, minor, teeny, patch). If a consumer wants to build a custom DLL, it may be useful to set the patchlevel version number in the DLL. This value only affects the DLL version number, it does not affect the resultant "version number", which remains major.minor.teeny.
Edward Thomson 96b82b11 2015-02-14T11:44:05 checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategy
Damien PROFETA a275fbc0 2015-02-05T11:40:16 Add API to add a memory buffer to an index git_index_add_frombuffer enables now to store a memory buffer in the odb and to store an entry in the index directly if the index is attached to a repository.
Edward Thomson 795eaccd 2015-02-19T11:09:54 git_filter_opt_t -> git_filter_flag_t For consistency with the rest of the library, where an opt is an options *structure*.
Edward Thomson b75f15aa 2015-02-18T09:25:32 git_writestream: from git_filter_stream
Edward Thomson fbdc9db3 2015-01-22T16:10:06 filters: introduce streaming filters Add structures and preliminary functions to take a buffer, file or blob and write the contents in chunks through an arbitrary number of chained filters, finally writing into a user-provided function accept the contents.
Carlos Martín Nieto a291790a 2015-02-15T05:18:01 Merge pull request #2831 from ethomson/merge_lock merge: lock index during the merge (not just checkout)
Edward Thomson 8639ea5f 2015-01-17T22:47:03 checkout: introduce GIT_CHECKOUT_DONT_WRITE_INDEX
Edward Thomson 49b8293c 2015-02-13T11:20:32 rebase: allow `NULL` branch to indicate `HEAD` Don't require the branch to rebase, if given `NULL`, simply look up `HEAD`.
Carlos Martín Nieto dc63c049 2015-02-11T23:44:05 Merge pull request #2893 from phatblat/ben/pr/doc-comments Fix doc comment formatting
John Haley a36486ef 2015-02-11T10:31:54 Fixed error when including git2/include/sys/stream.h
Ben Chatelain c03e8c22 2015-02-10T12:44:05 Use correct Doxygen trailing comment syntax
Ben Chatelain ec7e1c93 2015-02-10T08:31:48 Fix doc comment formatting
Edward Thomson 3538f8f1 2015-02-03T13:41:35 diff docs: update `git_diff_delta` description
Pierre-Olivier Latour 9a294fd8 2015-01-27T08:17:23 Clarified git_repository_is_empty() documentation
Edward Thomson 1ac5acdc 2015-01-26T11:28:59 Merge pull request #2819 from libgit2/cmn/config-get-path config: add parsing and getter for paths
Edward Thomson f483720c 2015-01-26T11:25:16 Merge pull request #2839 from swisspol/typo Fixed typo in git_repository_reinit_filesystem() documentation
Pierre-Olivier Latour 86815dca 2015-01-23T16:04:23 Make sure sys/repository.h includes the required headers It was missing "common.h" and "types.h" like other system headers. This generated compilation errors if including it directly.
Pierre-Olivier Latour 22b6a923 2015-01-23T15:59:54 Fixed typo in git_repository_reinit_filesystem() documentation
Edward Thomson e74340b0 2015-01-14T18:47:00 checkout: remove files before writing new ones On case insensitive filesystems, we may have files in the working directory that case fold to a name we want to write. Remove those files (by default) so that we will not end up with a filename that has the unexpected case.
Edward Thomson fe598f09 2015-01-13T11:18:02 mkdir: walk up tree to mkdir Walk up the tree to mkdir, which is less immediately efficient, but allows us to look at intermediate directories that may need attention.
Edward Thomson 1d50b364 2015-01-12T16:16:27 checkout: introduce git_checkout_perfdata Checkout can now provide performance data about the number of (some) syscalls performed using an optional callback.
Carlos Martín Nieto eac773d9 2015-01-14T15:05:43 config: add parsing and getter for paths
Edward Thomson 85880693 2015-01-14T10:19:28 Merge branch 'pr/2740'
Pierre-Olivier Latour 36fc5497 2014-12-02T05:11:12 Added GIT_HASHSIG_ALLOW_SMALL_FILES to allow computing signatures for small files The implementation of the hashsig API disallows computing a signature on small files containing only a few lines. This new flag disables this behavior. git_diff_find_similar() sets this flag by default which means that rename / copy detection of small files will now work. This in turn affects the behavior of the git_status and git_blame APIs which will now detect rename of small files assuming the right options are passed.
David Calavera c868981f 2015-01-06T13:49:39 Add extern function to initialize submodule update options.
Carlos Martín Nieto 239bdc57 2015-01-05T21:28:30 Merge pull request #2799 from ethomson/merge_doc Better document `git_merge_commits`
Carlos Martín Nieto 9b2efc15 2015-01-05T20:16:48 Bump version to 0.22 Bump the version number to 0.22.0 and the SOVERSION to 22.
Carlos Martín Nieto 0c601229 2015-01-05T20:10:43 Merge commit 'refs/pull/2632/head' of github.com:libgit2/libgit2
Edward Thomson 5e44d9bc 2015-01-05T11:34:17 Better document `git_merge_commits` `git_merge_commits` (and thus `git_merge`) do not use the same strategy as `git-merge-recursive` wherein they can produce an artificial common ancestor that is the merge of all common ancestors. Document this accordingly.
David Calavera d76e9df9 2015-01-02T15:56:03 Include git2/common.h in sys/openssl.h.
Pierre-Olivier Latour f8263472 2014-12-30T15:54:30 Fixed git_revert() documentation
Edward Thomson a3ef70bb 2014-12-30T11:53:55 Merge pull request #2761 from libgit2/cmn/fetch-prune Remote-tracking branch prunning
Edward Thomson c4c47fc2 2014-12-30T11:53:45 Merge pull request #2762 from libgit2/cmn/hide-push remote: remove git_push from the public API
Carlos Martín Nieto fe794b2e 2014-12-16T08:57:05 remote: remove git_push from the public API Instead we provide git_remote_upload() and git_remote_update_tips() in order to have a parallel API for fetching and pushing.
Carlos Martín Nieto 208a2c8a 2014-12-27T12:09:11 treebuilder: rename _create() to _new() This function is a constructor, so let's name it like one and leave _create() for the reference functions, which do create/write the reference.
Edward Thomson 2fe8157e 2014-12-22T18:42:03 index: reuc and name entrycounts should be size_t For the REUC and NAME entries, we use size_t internally, and we take size_t for the get_byindex() functions, but the entrycount() functions strangely cast to an unsigned int instead.
Jameson Miller 9d1f97df 2014-10-29T17:49:04 Introduce a convenience function for submodule update This introduces the functionality of submodule update in 'git_submodule_do_update'. The existing 'git_submodule_update' function is renamed to 'git_submodule_update_strategy'. The 'git_submodule_update' function now refers to functionality similar to `git submodule update`, while `git_submodule_update_strategy` is used to get the configured value of submodule.<name>.update.
Edward Thomson d147900e 2014-12-20T21:24:45 Merge pull request #2759 from libgit2/cmn/openssl-sys Make OpenSSL locking warnings more severe
Damien PROFETA ceb651c9 2014-12-19T15:31:49 Fix public header on sys/refs.h GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing compilation with g++ as the symbol were mangled.
Edward Thomson dce7b1a4 2014-12-16T19:24:04 treebuilder: take a repository for path validation Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
Carlos Martín Nieto 26186b15 2014-12-14T21:01:19 fetch: remove the prune setter This option does not get persisted to disk, which makes it different from the rest of the setters. Remove it until we go all the way. We still respect the configuration option, and it's still possible to perform a one-time prune by calling the function.
Linquize 5f473947 2014-09-22T23:17:35 remote: prune refs when fetching
Carlos Martín Nieto 263b1d6e 2014-12-12T08:29:43 Make the OpenSSL locking function warnings more severe Our git_openssl_set_locking() would ideally not exist. Make it clearer that we provide it as a last resort and you should prefer anything else.
Carlos Martín Nieto 85a6d5f4 2014-12-10T18:49:01 push: reword comment on finish() This should make it clearer what the return value implies.
Carlos Martín Nieto d524b2d3 2014-12-10T17:23:33 push: fold unpack_ok() into finish() The push cannot be successful if we sent a bad packfile. We should return an error in that case instead of storing it elsewhere.
Edward Thomson cd305c2f 2014-12-10T11:30:28 Merge pull request #2678 from libgit2/cmn/io-stream Introduce stackable IO streams
Carlos Martín Nieto 49ae22ba 2014-12-10T01:38:52 stream: constify the write buffer
Carlos Martín Nieto dd4ff2c9 2014-11-01T12:35:54 Introduce stackable IO streams We currently have gitno for talking over TCP, but this needs to know about both plaintext and OpenSSL connections and the code has gotten somewhat messy with ifdefs determining which version of the function should be called. In order to clean this up and abstract away the details of sending over the different types of streams, we can instead use an interface and stack stream implementations. We may not be able to use the stackability with all streams, but we are definitely be able to use the abstraction which is currently spread between different bits of gitno.
Edward Thomson f2e09b8a 2014-12-06T12:26:04 Merge pull request #2748 from libgit2/cmn/doc-all doc: add documentation to all the public structs and enums
Carlos Martín Nieto bfa6cdbf 2014-12-06T03:13:44 notes: fix comments for git_note_next() The iterator is the last argument. There is also no returned notes, just ids, so the comment about freeing is out of place.
Carlos Martín Nieto 21083a71 2014-12-06T03:12:04 notes: move the notes name argument Make it consistent between git_note_create() and git_note_remote() by putting it after the repository.
Carlos Martín Nieto a295bd2d 2014-12-06T03:36:18 doc: add documentation to all the public structs and enums This makes them show up in the reference, even if the text itself isn't the most descriptive. These have been found with grep -Przon '\n\ntypedef struct.*?\{' -- include grep -Przon '\n\ntypedef enum.*?\{' -- include
nulltoken 30ec0526 2014-12-05T07:44:09 Merge pull request #2744 from epmatsw/spelling Spelling fixes
Will Stamper b874629b 2014-12-04T21:06:59 Spelling fixes
Edward Thomson 6d91dc53 2014-12-03T15:28:44 init: return the number of initializations
Edward Thomson e952bc5a 2014-11-23T17:15:18 Merge pull request #2718 from libgit2/cmn/peeling-errors peel: reject bad queries with EPEEL
Carlos Martín Nieto 753e17b0 2014-11-19T18:42:29 peel: reject bad queries with EINVALIDSPEC There are some combination of objects and target types which we know cannot be fulfilled. Return EINVALIDSPEC for those to signify that there is a mismatch in the user-provided data and what the object model is capable of satisfying. If we start at a tag and in the course of peeling find out that we cannot reach a particular type, we return EPEEL.
Carlos Martín Nieto 8fd7dd77 2014-11-19T15:49:47 remote: don't say we free the remote on disconnect On disconnect we simply ask the transport to close the connection, we do not free it.
Carlos Martín Nieto 699dfcc3 2014-11-19T15:49:02 remote: clarify which list of references _ls() returns Make it clear that this is not the ls-remote command but a way to access the data we have and how long it's kept around.
Edward Thomson 45301cca 2014-11-18T11:44:59 Merge pull request #2608 from libgit2/cmn/remote-push Provide a convenience function `git_remote_push()`
Carlos Martín Nieto 64e3e6d4 2014-10-11T12:25:50 remote: use configured push refspecs if none are given If the user does not pass any refspecs to push, try to use those configured via the configuration or via add_push().
Carlos Martín Nieto 3149547b 2014-10-10T12:39:53 remote: introduce git_remote_push() This function, similar in style to git_remote_fetch(), performs all the steps required for a push, with a similar interface. The remote callbacks struct has learnt about the push callbacks, letting us set the callbacks a single time instead of setting some in the remote and some in the push operation.
Carlos Martín Nieto 799e22ea 2014-10-23T17:34:41 Rename git_threads_ to git_libgit2_ This describes their purpose better, as we now initialize ssl and some other global stuff in there. Calling the init function is not something which has been optional for a while now.
Edward Thomson 02bc5233 2014-11-08T17:05:13 Merge pull request #2698 from libgit2/cmn/fetchhead-refactor Refactor fetchhead
Edward Thomson bc8c4a8a 2014-11-08T16:55:23 Merge pull request #2695 from libgit2/cmn/remote-lookup remote: rename _load() to _lookup()
Carlos Martín Nieto 82374d98 2014-11-08T20:00:17 branch: add getter for the upstream remote name This gets the value from branch.<foo>.remote.
Carlos Martín Nieto 209425ce 2014-11-08T13:25:51 remote: rename _load() to _lookup() This brings it in line with the rest of the lookup functions.
Ungureanu Marius 68182085 2014-11-07T20:32:50 git_status_file now takes an exact path This function has one output but can match multiple files, which can be unexpected for the user, which would usually path the exact path of the file he wants the status of.
Edward Thomson 7bb63991 2014-11-06T10:25:23 Merge pull request #2676 from libgit2/cmn/threading Threading and crypto libraries