docs


Log

Author Commit Date CI Message
Edward Thomson aae54d5b 2022-01-30T13:43:43 Merge pull request #6138 from ccstolley/ccs_packedrefs_fast refs: Speed up packed lookups.
Edward Thomson 616628dd 2022-01-17T21:39:35 Merge branch 'main' into typos
Edward Thomson 240c195f 2022-01-02T08:19:45 docs: document our API/ABI stability stance
Dimitris Apostolou 90df4302 2022-01-05T12:18:05 Fix typos
Colin Stolley ad7a51d8 2021-10-07T13:26:52 refs: Speed up packed lookups. Currently ref lookups require loading the entire packed-refs file into a hashmap in memory. For repos with large numbers of refs this can be painfully slow. This patch replaces the existing lookup code and instead mmap()'s the packed-refs file and performs a binary search to locate the ref entry. Git uses a similiar approach. The old hash table codepath is still used for unsorted packed-refs files. This patch also fixes a minor bug where the "peeled" trait is never parsed correctly from the packed-refs header.
Edward Thomson 9324d16e 2021-11-06T16:14:47 cmake: standardize USE_THREADS and USE_NSEC Threading can now be disabled with `USE_THREADS=OFF` instead of `THREADSAFE=OFF` to better support the other cmake semantics. Nanosecond support is the default _if_ we can detect it. This should be our default always - like threads - and people can opt out explicitly.
Josh Triplett 644c763b 2021-11-11T00:30:40 Document that `git_odb` is thread-safe Commit 4ae41f9c639d246d34dac89c3f1d9451c9cfa8d3 made `git_odb` race-free, and added internal locking. Update `docs/threading.md` accordingly, so that APIs built atop libgit2 (e.g. language bindings) can count on this.
Martin Kühl f66e7f36 2021-10-28T10:25:09 libgit2_clar is now libgit2_tests in #6083 the test runner was renamed to libgit2_tests, but not all references to the old name were updated. this change changes all of them to use the new name.
Edward Thomson 4e14d4c6 2021-09-26T22:06:49 cmake: BUILD_CLAR is now BUILD_TESTS Nobody knows what CLAR is. The test building option should be `BUILD_TESTS`.
Edward Thomson 5346be3d 2021-09-23T21:16:36 docs: document `git_buf` We have been inconsistent about the way that we handle `git_buf`s provided by users. _Usually_ we require that it has been properly initialized with `GIT_BUF_INIT`, but _sometimes_ we simply overwrite the data in it regardless. And even more rarely, we will grow a user-provided buffer and concatenate data onto it (see `git_diff_format_email`). Document the path forward for `git_buf`, which is that we always require that the buffer is intitialized with `GIT_BUF_INIT`. `git_diff_format_email` will be kept backward compatible but users are encouraged to switch to the new `git_email` APIs.
Edward Thomson b7bad55e 2021-09-27T16:09:50 v1.3: very very last-minute changelog updates
Edward Thomson 13f1270a 2021-09-27T08:58:28 v1.3: changelog updates for last-minute changes
Edward Thomson 13690108 2021-09-22T15:31:21 changelog: separate releases with a horizontal rule
Edward Thomson 61bbb2d1 2021-09-22T15:28:23 changelog: fix typo
Edward Thomson e0531f2c 2021-09-22T08:34:10 v1.3: changelog
Edward Thomson 0e585d36 2021-08-31T00:11:56 v1.2: changelog
Edward Thomson 9937967e 2021-08-29T21:29:14 Merge branch 'main' into http-use-eauth
Edward Thomson 992f65f7 2021-07-02T18:27:59 Merge pull request #5916 from boretrk/doc Update from regex to pcre licensing information in docs/contributing.md
Edward Thomson 9eeee00f 2021-06-25T14:49:33 Update docs/release.md Co-authored-by: lhchavez <lhchavez@lhchavez.com>
Nicolas Cavallari a2cd66be 2021-06-23T16:57:48 docs: stop mentioning libgit2's "master" branch The name of libgit2's main branch is now "main" but contributing.md and release.md still reference "master" as the main branch. Fix it.
Peter Pettersson 045031bb 2021-06-17T19:56:00 Update from regex to pcre licensing information
Alex Good 1713ab45 2021-05-02T13:41:59 Respect the force flag on refspecs in git_remote_fetch
Etienne Samson a25cba2c 2021-05-27T10:01:55 docs: fix incorrect comment marker
Edward Thomson 78abfb17 2021-04-05T10:59:02 docs: document core.longpaths support
Edward Thomson 8aed4629 2020-07-12T18:43:22 cmake: rename MSVC_CRTDBG to WIN32_LEAKCHECK
Edward Thomson 8b0c7d7c 2020-10-25T16:38:45 changelog: include new reference validity functions
Edward Thomson 699fd71a 2020-10-11T22:44:24 changelog: document changes since v1.1
Patrick Steinhardt ffb6a576 2020-04-04T14:36:27 docs: add documentation for our coding style For years, we've repeatedly had confusion about what our actual coding style is not only for newcomers, but also across the core contributors. This can mostly be attributed to the fact that we do not have any coding conventions written down. This is now a thing of the past with the introduction of a new document that gives an initial overview of our style and most important best practices for both our C codebase as well as for CMake. While the proposed coding style for our C codebase should be rather uncontroversial, the coding style for CMake might be. This can be attributed to multiple facts. First, the CMake code base doesn't really have any uniform coding style and is quite outdated in a lot of places. Second, the proposed coding style actually breaks with our existing one: we currently use all-uppercase function names and variables, but the documented coding style says we use all-lowercase function names but all-uppercase variables. It's common practice in CMake to write variables in all upper-case, and in fact all variables made available by CMake are exactly that. As variables are case-sensitive in CMake, we cannot and shouldn't break with this. In contrast, function calls are case insensitive, and modern CMake always uses all-lowercase ones. I argue we should do the same to get in line with other codebases and to reduce the likelihood of repetitive strain injuries. So especially for CMake, the proposed coding style says something we don't have yet. I'm fine with that, as the document explicitly says that it's what we want to have and not what we have right now.
Patrick Steinhardt f79027bd 2020-03-28T10:28:36 docs: update changelog for v1.0
Edward Thomson a552c103 2019-10-31T17:45:16 docs: update changelog for v0.99 Give the release a name, "Torschlusspanik" (the fear that time is running out to act). Indeed, the time is running out for changes to be included in v1.0.
lhchavez 795a5b2c 2020-02-15T04:20:17 fuzzers: Fix the documentation Some of the commands are now out of date.
Josh Bleecher Snyder 216165ec 2020-02-07T10:06:28 transports: use GIT_EAUTH for authentication failures When the failure is clearly an auth failure (as opposed to possibly an auth failure), use the error code GIT_EAUTH instead of GIT_ERROR. While we're here, fix a typo and improve an error message. Fixes #5389.
Josh Bleecher Snyder d4d26e8d 2020-02-07T09:57:52 changelog: note new error class GIT_ERROR_HTTP Updates #5389
Patrick Steinhardt 3e6a9045 2019-12-13T08:53:51 Merge pull request #5320 from josharian/minor-docs Minor doc improvements
Patrick Steinhardt b8b8eee3 2019-12-10T13:44:27 changelog: document security fixes
Josh Bleecher Snyder 611e5d28 2019-12-04T14:36:41 changelog: add more newly-accepted urls I encountered some problematic URLs, and was delighted to see that they were already fixed. I figured I may as well add them to the changelog. For the record, URLs with no path used to be rejected. That is arguably correct, but command line git accepts them. URLs with a path of / and a non-standard port used to have their port completely ignored!
Edward Thomson ea702a0b 2019-12-04T14:25:36 release.md: note that we do two security releases Note that for security releases, we update the two most recent major release branches.
Etienne Samson 8bf0f7eb 2019-09-09T13:00:27 cred: separate public interface from low-level details
Edward Thomson df3f18ac 2019-08-05T00:32:11 changelog: include security updates
Etienne Samson 94fc83b6 2019-06-13T16:48:35 cmake: Modulize our TLS & hash detection The interactions between `USE_HTTPS` and `SHA1_BACKEND` have been streamlined. Previously we would have accepted not quite working configurations (like, `-DUSE_HTTPS=OFF -DSHA1_BACKEND=OpenSSL`) and, as the OpenSSL detection only ran with `USE_HTTPS`, the link would fail. The detection was moved to a new `USE_SHA1`, modeled after `USE_HTTPS`, which takes the values "CollisionDetection/Backend/Generic", to better match how the "hashing backend" is selected, the default (ON) being "CollisionDetection". Note that, as `SHA1_BACKEND` is still used internally, you might need to check what customization you're using it for.
Edward Thomson fb529a01 2019-06-11T22:03:29 http-parser: use our bundled http-parser by default Our bundled http-parser includes bugfixes, therefore we should prefer our http-parser until such time as we can identify that the system http-parser has these bugfixes (using a version check). Since these bugs are - at present - minor, retain the ability for users to force that they want to use the system http-parser anyway. This does change the cmake specification so that people _must_ opt-in to the new behavior knowingly.
Edward Thomson 02ab4841 2019-02-27T10:08:15 threading: clarify openssl default vs mbedtls
Edward Thomson 358a3b9c 2019-02-27T10:08:00 threading: clarify concurrency of access
Etienne Samson 582d036d 2019-02-07T18:47:45 Update threading.md
Edward Thomson 63f96cd0 2019-01-31T19:09:42 changelog: this is 0.28
Etienne Samson 2964fed0 2019-01-15T13:30:42 docs: document GIT_EUSER/GIT_EPASSTHROUGH
Edward Thomson 826d9a4d 2019-01-25T09:43:20 Merge pull request #4858 from tiennou/fix/index-ext-read index: preserve extension parsing errors
Edward Thomson 769e9274 2019-01-23T00:42:22 deprecation: update changelog to reflect new policies
Etienne Samson 0bf7e043 2019-01-24T12:12:04 index: preserve extension parsing errors Previously, we would clobber any extension-specific error message with an "extension is truncated" message. This makes `read_extension` correctly preserve those errors, takes responsibility for truncation errors, and adds a new message with the actual extension signature for unsupported mandatory extensions.
Edward Thomson a27a4de6 2019-01-10T22:48:03 errors: update docs for giterr changes
Edward Thomson 38e61797 2019-01-14T14:33:36 changelog: document that we always build cdecl
Edward Thomson 6a0e9457 2019-01-17T20:13:25 changelog: document git_merge_analysis_for_ref
Edward Thomson 35be7f1f 2019-01-10T23:49:24 changelog: document openssl fixes
Edward Thomson 85feb28a 2019-01-10T23:36:08 changelog: document core.logallrefupdates=always
Edward Thomson a6e5d46b 2019-01-17T20:12:04 fixup! changelog: document changes since 0.27
Edward Thomson 1bb03f7a 2019-01-10T21:32:05 changelog: document changes since 0.27
Carlos Martín Nieto 69cd4141 2018-10-19T16:30:43 docs: fix transparent/opaque confusion in the conventions file
Edward Thomson db17b31b 2018-09-06T19:22:30 Merge pull request #4789 from pks-t/pks/licensing docs: clarify and include licenses of dependencies
Patrick Steinhardt 2e0f926e 2018-08-30T12:16:40 docs: clarify and include licenses of dependencies While our contribution guide tries to make clear the licenses that apply to libgit2, it does not make clear that different licenses apply to our bundled dependencies. Make this clear by listing each dependency together with the licenses that they are governed by. Furthermore, bundle the complete license texts next to the code they apply to.
Johan Abildskov c0b2e525 2018-08-27T09:23:02 Add two words to clarify
Johan Abildskov 73e31f6f 2018-08-20T12:08:50 Rephrase wording on giterr_last documentation
Johan Abildskov 3602b573 2018-08-20T10:08:30 Document giterr_last() use only after error. #4772
Patrick Steinhardt 12804c46 2018-07-20T12:24:08 cmake: remove USE_SANITIZER and USE_COVERAGE options Both the USE_SANITIZER and USE_COVERAGE options are convenience options that turn on a set of CFLAGS. Despite our own set of CFLAGS required to build libgit2, we have no real business to mess with them, though, as they can easily be passed in by the user via specifying the CFLAGS environment variable. The reasoning behind not providing them is that as soon as we start adding those for some usecases, users might ask for other sets of CFLAGS catering to their specific need in another usecase. Thus, we do not want to support them here.
Patrick Steinhardt bf3382d5 2018-07-19T15:22:18 cmake: remove need to add "-fsanitize=fuzzer" flag for fuzzers Right now, users are being instrucded to add the "-DCMAKE_EXE_LINKER_FLAGS=-fsanitize=fuzzer" flag when they want to build our fuzzers. This is error-prone and user unfriendly. Instead, just add the flag to our fuzzers' build instructions so that it happens automatically. Adjust the README accordingly.
Patrick Steinhardt ad087303 2018-07-20T14:20:07 fuzzers: move readme to docs/fuzzing.md
Edward Thomson 243d40df 2018-06-22T19:21:22 docs: add unsaved index safety to changelog
Patrick Steinhardt 0bfe5f78 2018-06-12T10:42:53 docs: fix statement about tab width The libgit2 project mostly follows the coding style of git and thus the linux project. While those two projects use a recommended tab width of eight spaces, we instruct users to set their editor's tab width to four spaces. Fix this to say eight instead.
Edward Thomson f81923ef 2018-06-09T18:31:57 Merge branch 'pks/docs-improvements'
Edward Thomson 8a2de353 2018-06-09T18:25:46 Merge branch 'compat/clibs'
Edward Thomson 5e53f216 2018-06-09T18:24:27 docs: update release steps to include clib manifest We've introduced a manifest for the clib version system that includes a version number; we should update it at release time to correspond with the version number in the header.
Patrick Steinhardt 68a3c0b1 2018-03-22T09:20:43 docs: reorganize documents Our non-technical documents are currently floating around loosely in our project's root, making it harden than necessary to discover what one is searching for. We do have a "docs/" directory, though, which serves exactly that purpose of hosting documentation. Move our non-technical documentation into the "docs/" directory. Adjust all links to these documents.
Jason Haslam d54c34a7 2018-05-21T17:04:11 docs: added note regarding difference in treatment of junction points from git
Carson Howard 77799325 2018-05-02T07:46:53 docs: update differences-from-git to be more concise
Carson Howard 0f69a324 2018-03-30T08:43:02 docs: add documentation to state differences from the git cli
Patrick Steinhardt ad006d87 2018-02-15T11:13:14 docs: document increasing the version number for releases
Patrick Steinhardt bb7c672a 2018-02-15T11:06:40 docs: fix typo in "release.md" filename
Carlos Martín Nieto adc90b47 2018-01-27T21:00:53 docs: udpates to wording in release documentation
Carlos Martín Nieto 03569109 2018-01-17T14:42:05 docs: add release documentation This should provide the release manager enough to know which steps to take when it's time to cut a new release.
Jason Haslam afab1fff 2016-02-16T21:02:41 checkout: handle dirty submodules correctly Don't generate conflicts when checking out a modified submodule and the submodule is dirty or modified in the workdir.
Stjepan Rajko 2b96b6ef 2015-10-14T09:41:27 Fix docs typo geterr_clear -> giterr_clear
Nicolas Kaiser 27f680a9 2013-12-01T10:35:56 fix typos in docs
Russell Belfer aa94acf0 2013-09-25T11:53:02 The error handling docs are out of date The error handling docs date back to the early error redesign work and don't match up with the route we actually took. This brings them in line with actual practice both for external users and internal implementors, and notes some of the exceptions and possible bugs.
Vicent Martí b294f97e 2013-09-25T01:41:17 Merge pull request #1873 from mikeando/doc_cleanup Cleaned up some tables in checkout-internals doc
Mike Anderson 6918d81e 2013-09-25T11:14:06 Fixed formatting of diff-internals.md Indentation for lists was not working correctly.
Mike Anderson 53e0636c 2013-09-24T16:43:06 Cleaned up some tables in checkout-internals doc The markdown wasn't rendering correctly.
Russell Belfer 5dc98298 2013-06-11T11:22:22 Implement regex pattern diff driver This implements the loading of regular expression pattern lists for diff drivers that search for function context in that way. This also changes the way that diff drivers update options and interface with xdiff APIs to make them a little more flexible.
Russell Belfer 114f5a6c 2013-06-10T10:10:39 Reorganize diff and add basic diff driver This is a significant reorganization of the diff code to break it into a set of more clearly distinct files and to document the new organization. Hopefully this will make the diff code easier to understand and to extend. This adds a new `git_diff_driver` object that looks of diff driver information from the attributes and the config so that things like function content in diff headers can be provided. The full driver spec is not implemented in the commit - this is focused on the reorganization of the code and putting the driver hooks in place. This also removes a few #includes from src/repository.h that were overbroad, but as a result required extra #includes in a variety of places since including src/repository.h no longer results in pulling in the whole world.
Edward Thomson bec65a5e 2013-04-01T22:16:21 merge!
Russell Belfer 77cffa31 2013-01-02T17:14:00 Simplify checkout documentation This moves a lot of the detailed checkout documentation into a new file (docs/checkout-internals.md) and simplifies the public docs for the checkout API.
Bruce Mitchener d73c94b2 2012-05-19T20:24:55 Fix spelling errors.
Vicent Martí 845f8314 2012-02-14T20:36:39 error-handling: Add reference documentation