Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 5963292f | 2018-01-12 13:03:19 | refs: document need to free refs in foreach-callback References passed to the callback function of `git_reference_foreach` are expected to be owned by the callback. As such, they are never being freed by `git_reference_foreach`, but will have to be freed by the caller. This small detail is never mentioned in the function's documentation, though, making it easy to get wrong. Document this to make it discoverable. | ||
| 908f24fd | 2016-04-22 10:34:17 | Allow creating copies of `git_reference` objects. | ||
| 659cf202 | 2015-01-07 12: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. | ||
| a295bd2d | 2014-12-06 03: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 | ||
| b874629b | 2014-12-04 21:06:59 | Spelling fixes | ||
| 31b0cb51 | 2014-05-22 17:16:21 | Fixed miscellaneous documentation errors. | ||
| 891b0277 | 2014-04-30 11:20:51 | refs: document _next_name() If it's not documented, it doesn't show up in the docs (and we really should document, anyway). | ||
| 3b4ba278 | 2014-04-03 15:50:21 | Const correctness! | ||
| 853b1407 | 2014-03-17 16:10:33 | branch: constness fixes | ||
| 2b40390f | 2014-03-13 15:54:53 | refs: fix copy-paste doc error | ||
| 15284a2c | 2014-02-10 14:52:28 | refs: move current_id before the reflog parameters Keep the reflog parameters as the last two, as they're the optional parameters. | ||
| 77ad6754 | 2014-02-10 14:38:01 | refs: conditional wording fixups This addresses arrbee's concerns about wording in the conditional reference udpate functions. | ||
| 5367ec4b | 2014-02-05 12:02:52 | refs: add an unconditional delete Add it under the git_reference_remove() name, letting the user pass the repo and name, analogous to unconditional setting/creation. | ||
| f44fd59e | 2014-02-05 11:21:14 | refs: check the ref's old value when deleting Recognize when the reference has changed since we loaded it. | ||
| 878fb66f | 2014-02-05 10:19:17 | refs: bring conditional symbolic updates to the frontend Bring the race detection goodness to symbolic references as well. | ||
| fc4728e3 | 2014-01-29 14:07:18 | refs: return GIT_EMODIFIED if the ref target moved In case we loose the race to update the reference, return GIT_EMODIFIED to let the user distinguish it from other types of errors. | ||
| 5d96fe88 | 2014-01-14 15:33:29 | refs: changes from feedback Change the name to _matching() intead of _if(), and force _set_target() to be a conditional update. If the user doesn't care about the old value, they should use git_reference_create(). | ||
| 9b148098 | 2013-12-18 19:58:16 | refs: conditional ref updates Allow updating references if the old value matches the given one. | ||
| 50ad7cc2 | 2014-02-02 18:20:06 | Add `git_reference_is_note`. | ||
| ccf6ce5c | 2014-01-28 11:30:36 | Ensure renaming a reference updates the reflog | ||
| 3f033c55 | 2014-01-16 21:53:25 | Revert a wrong doc change. | ||
| 3f0e3e16 | 2014-01-16 21:42:28 | Fix some documentation issues. | ||
| 0b28217b | 2014-01-15 12:51:31 | refs: remove the _with_log differentiation Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters. | ||
| 4e1f517c | 2013-12-18 09:33:45 | Merge pull request #1920 from libgit2/cmn/ref-with-log Reference operations with log | ||
| 373cf6a9 | 2013-12-09 10:17:47 | Update docs for new callback return value behavior | ||
| f2105129 | 2013-11-23 14:39:53 | refs: expose has_log() on the backend The frontend used to look at the file directly, but that's obviously not the right thing to do. Expose it on the backend and use that function instead. | ||
| 8d5ec910 | 2013-11-23 14:13:01 | refs: expose a way to ensure a ref has a log Sometimes (e.g. stash) we want to make sure that a log will be written, even if it's not in one of the standard locations. Let's make that easier. | ||
| ca84e058 | 2013-05-14 16:40:09 | refs: Introduce git_reference_symbolic_set_target_with_log() | ||
| 14ab0e10 | 2013-05-14 16:07:33 | refs: Introduce git_reference_set_target_with_log() | ||
| 56ad3782 | 2013-05-13 17:44:39 | refs: Introduce git_reference_symbolic_create_with_log() | ||
| bba25f39 | 2013-05-13 16:21:09 | refs: Introduce git_reference_create_with_log() | ||
| 92dac975 | 2013-10-08 16:35:57 | Make reference lookups apply precomposeunicode Before these changes, looking up a reference would return the same precomposed or decomposed form of the reference name that was used to look it up, so on MacOS which ignores the difference between the two, a single reference could be looked up either way and git_reference_name would return the form of the name that was used to look it up! This change makes lookup always return the precomposed name if core.precomposeunicode is set regardless of which version was used to look it up. The reference iterator was already returning the precomposed form from earlier work. This also updates the CMakeLists.txt rules for enabling iconv usage because the clar tests for this code were actually not being activated properly with the old version. Finally, this moves git_repository_reset_filesystem from include/ git2/repository.h to include/git2/sys/repository.h since it is not really a function that normal library users should have to think about very often. | ||
| 504850cd | 2013-08-25 15:59:50 | refs: add git_reference_is_tag | ||
| 0b170f4d | 2013-07-01 00:56:54 | Fix docs to use proper enum names that exist. | ||
| e1967164 | 2013-06-24 15:33:41 | Fixed most documentation header bugs Fixed a few header @param and @return typos with the help of -Wdocumentation in Xcode. The following warnings have not been fixed: common.h:213 - Not sure how the documentation format is for '...' notes.h:102 - Correct @param name but empty text notes.h:111 - Correct @param name but empty text pack.h:140 - @return missing text pack.h:148 - @return missing text | ||
| 947fad4f | 2013-06-03 09:28:58 | Merge pull request #1624 from libgit2/vmg/full-ref-iterator Breaking RefDB changes | ||
| 9afc5971 | 2013-05-31 03:09:38 | Merge pull request #1559 from carlosmn/ref-shorthand Introduce git_reference_shorthand | ||
| 4e6e2ff2 | 2013-05-30 03:47:10 | ...Aaaand this works | ||
| ec24e542 | 2013-05-29 22:47:37 | What are the chances, really | ||
| 56960b83 | 2013-05-28 20:47:55 | Liike this | ||
| e167ec18 | 2013-05-21 08:09:17 | Merge pull request #1597 from zodiac/patch-1 define "long name" in git_reference_name_to_id | ||
| fc74343f | 2013-05-21 16:51:50 | refs: export the glob iterator | ||
| e069478e | 2013-05-21 21:35:58 | define "long name" in git_reference_name_to_id | ||
| b6cc559a | 2013-05-11 02:42:49 | Merge pull request #1385 from carlosmn/refs-iter Introduce a refs iterator | ||
| 2b562c3a | 2013-05-04 16:32:58 | refs: remove the OID/SYMBOLIC filtering Nobody should ever be using anything other than ALL at this level, so remove the option altogether. As part of this, git_reference_foreach_glob is now implemented in the frontend using an iterator. Backends will later regain the ability of doing the glob filtering in the backend. | ||
| 4def7035 | 2013-03-02 19:31:03 | refs: introduce an iterator This allows us to get a list of reference names in a loop instead of callbacks. | ||
| 4f2eb2b7 | 2013-05-08 02:28:47 | Introduce git_reference_shorthand Generate a shorthand name out of the full refname. | ||
| 98d633cc | 2013-05-07 23:28:21 | Expose git_reference_dwim Extract this function out of the rev-parse code to be able to DWIM a reference instead of its target. | ||
| 528a4e24 | 2013-04-28 14:16:45 | Parse shorthand refspecs as valid Relax the ONELEVEL ref naming rules so the refspec parsing code can ask for 'master' to be considered valid. | ||
| 3be933b1 | 2013-04-17 17:33:51 | refs: Add `git_referene_target_peel` | ||
| 33abaad8 | 2013-03-07 18:58:34 | refs: Dude, you're OUT. | ||
| d00d5464 | 2013-03-01 15:37:33 | immutable references and a pluggable ref database | ||
| abeefbbe | 2012-12-26 19:16:23 | push: properly handle tags Currently, push doesn't really handle tags when queueing objects. Fix it. | ||
| 087f64d3 | 2012-12-17 18:48:26 | Relax refspecs accepted by push | ||
| 359fc2d2 | 2013-01-08 17:07:25 | update copyrights | ||
| e05ca13f | 2012-12-05 11:47:19 | Merge pull request #1115 from ben/struct-versions Version info for public structs | ||
| bc05f30c | 2012-11-19 18:49:25 | object: refine git_object_peel() error report | ||
| 80d9d1df | 2012-11-12 15:42:15 | refs: Deploy EINVALIDSPEC usage | ||
| f4fc9fdb | 2012-11-29 12:26:40 | Cleanup nitpicky things | ||
| eecc8050 | 2012-11-20 14:03:05 | Update callback fn ptr for git_reference_foreach As part of API review, use a typedef for the callback fn ptr. | ||
| 2508cc66 | 2012-11-18 21:38:08 | Rename ref and reflog apis for consistency | ||
| b90500f0 | 2012-11-01 14:08:30 | Improve docs, examples, warnings 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. | ||
| b46708aa | 2012-10-11 23:04:08 | Separated git_strarray from common.h. Added doxy comments. | ||
| 77e06d7e | 2012-09-17 07:11:32 | refs: introduce git_reference_is_valid_name() | ||
| c030ada7 | 2012-09-11 12:06:57 | refs: make git_reference_normalize_name() accept refspec pattern | ||
| 31665948 | 2012-08-24 21:30:45 | refs: introduce git_reference_peel() Fix #530 | ||
| 62eafd06 | 2012-08-27 14:54:52 | Merge branch 'branch-delete-ref' into development Conflicts: include/git2/refs.h | ||
| 2e0c8816 | 2012-08-26 22:08:22 | refs: expose git_reference_normalize_name() | ||
| 1c947daa | 2012-08-23 15:47:29 | branch: Change `git_branch_delete` to take a ref | ||
| e0db9f11 | 2012-08-15 17:54:05 | refs: fix missing parameter documentation | ||
| 51e1d808 | 2012-08-06 12:41:08 | Merge remote-tracking branch 'arrbee/tree-walk-fixes' into development Conflicts: src/notes.c src/transports/git.c src/transports/http.c src/transports/local.c tests-clar/odb/foreach.c | ||
| 5dca2010 | 2012-08-03 17:08:01 | Update iterators for consistency across library This updates all the `foreach()` type functions across the library that take callbacks from the user to have a consistent behavior. The rules are: * A callback terminates the loop by returning any non-zero value * Once the callback returns non-zero, it will not be called again (i.e. the loop stops all iteration regardless of state) * If the callback returns non-zero, the parent fn returns GIT_EUSER * Although the parent returns GIT_EUSER, no error will be set in the library and `giterr_last()` will return NULL if called. This commit makes those changes across the library and adds tests for most of the iteration APIs to make sure that they follow the above rules. | ||
| ef4d795e | 2012-07-20 16:39:22 | refs: drop git_reference_remote_tracking_from_branch() | ||
| 88bcd515 | 2012-07-20 16:27:56 | branch: introduce git_reference_is_branch() | ||
| 84f18e35 | 2012-07-12 00:44:07 | refs: introduce git_reference_remote_tracking_from_branch() | ||
| 75261421 | 2012-07-04 11:58:04 | refs: add git_reference_has_log() | ||
| 527ed554 | 2012-06-22 15:51:44 | references: introduce git_reference_foreach_glob() | ||
| d73c94b2 | 2012-05-19 20:24:55 | Fix spelling errors. | ||
| e172cf08 | 2012-05-18 01:21:06 | errors: Rename the generic return codes | ||
| 2e2e9785 | 2012-05-18 00:42:24 | Properly tag all `enums` with a `_t` | ||
| 4fbd1c00 | 2012-05-17 20:35:48 | refs: git_reference_listall -> git_reference_list | ||
| 26515e73 | 2012-04-23 10:06:31 | Rename to git_reference_name_to_oid | ||
| f201d613 | 2012-04-13 10:33:14 | Add git_reference_lookup_oid and lookup_resolved Adds a new public reference function `git_reference_lookup_oid` that directly resolved a reference name to an OID without returning the intermediate `git_reference` object (hence, no free needed). Internally, this adds a `git_reference_lookup_resolved` function that combines looking up and resolving a reference. This allows us to be more efficient with memory reallocation. The existing `git_reference_lookup` and `git_reference_resolve` are reimplmented on top of the new utility and a few places in the code are changed to use one of the two new functions. | ||
| 5e0de328 | 2012-02-13 17:10:24 | Update Copyright header Signed-off-by: schu <schu-github@schulog.org> | ||
| a5cd086d | 2011-11-21 11:56:00 | reference_rename: don't delete the reflog reference_rename used to delete an old reflog file when renaming a reference to not confuse git.git. Don't do this anymore but let the user take care of writing a reflog entry. Signed-off-by: schu <schu-github@schulog.org> | ||
| d4a0b124 | 2011-10-30 21:58:33 | refs: Partial rewrite for read-only refs This new version of the references code is significantly faster and hopefully easier to read. External API stays the same. A new method `git_reference_reload()` has been added to force updating a memory reference from disk. In-memory references are no longer updated automagically -- this was killing us. If a reference is deleted externally and the user doesn't reload the memory object, nothing critical happens: any functions using that reference should fail gracefully (e.g. deletion, renaming, and so on). All generated references from the API are read only and must be free'd by the user. There is no reference counting and no traces of generated references are kept in the library. There is no longer an internal representation for references. There is only one reference struct `git_reference`, and symbolic/oid targets are stored inside an union. Packfile references are stored using an optimized struct with flex array for reference names. This should significantly reduce the memory cost of loading the packfile from disk. | ||
| a46ec457 | 2011-08-10 16:19:42 | refs: split internal and external references Currently libgit2 shares pointers to its internal reference cache with the user. This leads to several problems like invalidation of reference pointers when reordering the cache or manipulation of the cache from user side. Give each user its own git_reference instead of leaking the internal representation (struct reference). Add the following new API functions: * git_reference_free * git_reference_is_packed Signed-off-by: schu <schu-github@schulog.org> | ||
| bb742ede | 2011-09-19 01:54:32 | Cleanup legal data 1. The license header is technically not valid if it doesn't have a copyright signature. 2. The COPYING file has been updated with the different licenses used in the project. 3. The full GPLv2 header in each file annoys me. | ||
| d9111722 | 2011-09-13 12:30:25 | Standardized doxygen @return lines for int functions to say "GIT_SUCCESS or an error code". | ||
| 932d1baf | 2011-06-30 19:52:34 | cleanup: remove trailing spaces Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> | ||
| 7376ad99 | 2011-06-29 11:01:35 | refs: Remove duplicate rename method `git_reference_rename` now takes a `force` flag | ||
| d5afc039 | 2011-06-28 19:15:48 | Remove redundant methods from the API A bunch of redundant methods have been removed from the external API. - All the reference/tag creation methods with `_f` are gone. The force flag is now passed as an argument to the normal create methods. - All the different commit creation methods are gone; commit creation now always requires a `git_commit` pointer for parents and a `git_tree` pointer for tree, to ensure that corrupted commits cannot be generated. - All the different tag creation methods are gone; tag creation now always requires a `git_object` pointer to ensure that tags are not created to inexisting objects. | ||
| d144c569 | 2011-06-16 03:02:46 | Update documentation Fix all the missmatched arguments in the docs | ||
| 43521d06 | 2011-06-16 02:27:43 | refs: Rename git_referece_listcb to _foreach Same name as `git_config_foreach` | ||
| 95cde17c | 2011-03-29 19:22:21 | Enforce coding conventions in refs.c Internal methods are static and without the git prefix. 'Force' methods have a `_f` prefix to match the other 'force' methods. | ||
| fa204962 | 2011-03-28 12:00:50 | Allow forcing the creation or renaming of references Add internal reference create and rename functions which take a force parameter, telling them to overwrite an existing reference if it exists. These functions try to update the reference if it's of the same type as the one it's going to be replaced by. Otherwise the old reference becomes invalid. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> | ||
| 4cd6ed75 | 2011-03-28 15:05:02 | Fix documentation copy error Signed-off-by: Carlos Martín Nieto <cmn@elego.de> | ||
| 09e8de0f | 2011-03-25 23:53:38 | New external API method: `git_reference_listcb` List all the references in the repository, calling a custom callback for each one. The listed references may be filtered by type, or using a bitwise OR of several types. Use the magic value `GIT_REF_LISTALL` to obtain all references, including packed ones. The `callback` function will be called for each of the references in the repository, and will receive the name of the reference and the `payload` value passed to this method. | ||
| 00571828 | 2011-03-12 16:04:46 | Add new method `git_reference_listall` Lists all the references in a repository. Listing may be filtered by reference type. This should applease Lord Clem. | ||
| 71d33382 | 2011-03-03 20:20:45 | Move the external includes folder from `src` to `include` Signed-off-by: Vicent Marti <tanoku@gmail.com> |