|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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`.
|
|
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.
|
|
b7bad55e
|
2021-09-27T16:09:50
|
|
v1.3: very very last-minute changelog updates
|
|
13f1270a
|
2021-09-27T08:58:28
|
|
v1.3: changelog updates for last-minute changes
|
|
13690108
|
2021-09-22T15:31:21
|
|
changelog: separate releases with a horizontal rule
|
|
61bbb2d1
|
2021-09-22T15:28:23
|
|
changelog: fix typo
|
|
e0531f2c
|
2021-09-22T08:34:10
|
|
v1.3: changelog
|
|
0e585d36
|
2021-08-31T00:11:56
|
|
v1.2: changelog
|
|
9937967e
|
2021-08-29T21:29:14
|
|
Merge branch 'main' into http-use-eauth
|
|
992f65f7
|
2021-07-02T18:27:59
|
|
Merge pull request #5916 from boretrk/doc
Update from regex to pcre licensing information in docs/contributing.md
|
|
9eeee00f
|
2021-06-25T14:49:33
|
|
Update docs/release.md
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
|
|
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.
|
|
045031bb
|
2021-06-17T19:56:00
|
|
Update from regex to pcre licensing information
|
|
1713ab45
|
2021-05-02T13:41:59
|
|
Respect the force flag on refspecs in git_remote_fetch
|
|
a25cba2c
|
2021-05-27T10:01:55
|
|
docs: fix incorrect comment marker
|
|
78abfb17
|
2021-04-05T10:59:02
|
|
docs: document core.longpaths support
|
|
8aed4629
|
2020-07-12T18:43:22
|
|
cmake: rename MSVC_CRTDBG to WIN32_LEAKCHECK
|
|
8b0c7d7c
|
2020-10-25T16:38:45
|
|
changelog: include new reference validity functions
|
|
699fd71a
|
2020-10-11T22:44:24
|
|
changelog: document changes since v1.1
|
|
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.
|
|
f79027bd
|
2020-03-28T10:28:36
|
|
docs: update changelog for v1.0
|
|
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.
|
|
795a5b2c
|
2020-02-15T04:20:17
|
|
fuzzers: Fix the documentation
Some of the commands are now out of date.
|
|
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.
|
|
d4d26e8d
|
2020-02-07T09:57:52
|
|
changelog: note new error class GIT_ERROR_HTTP
Updates #5389
|
|
3e6a9045
|
2019-12-13T08:53:51
|
|
Merge pull request #5320 from josharian/minor-docs
Minor doc improvements
|
|
b8b8eee3
|
2019-12-10T13:44:27
|
|
changelog: document security fixes
|
|
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!
|
|
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.
|
|
8bf0f7eb
|
2019-09-09T13:00:27
|
|
cred: separate public interface from low-level details
|
|
df3f18ac
|
2019-08-05T00:32:11
|
|
changelog: include security updates
|
|
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.
|
|
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.
|
|
02ab4841
|
2019-02-27T10:08:15
|
|
threading: clarify openssl default vs mbedtls
|
|
358a3b9c
|
2019-02-27T10:08:00
|
|
threading: clarify concurrency of access
|
|
582d036d
|
2019-02-07T18:47:45
|
|
Update threading.md
|
|
63f96cd0
|
2019-01-31T19:09:42
|
|
changelog: this is 0.28
|
|
2964fed0
|
2019-01-15T13:30:42
|
|
docs: document GIT_EUSER/GIT_EPASSTHROUGH
|
|
826d9a4d
|
2019-01-25T09:43:20
|
|
Merge pull request #4858 from tiennou/fix/index-ext-read
index: preserve extension parsing errors
|
|
769e9274
|
2019-01-23T00:42:22
|
|
deprecation: update changelog to reflect new policies
|
|
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.
|
|
a27a4de6
|
2019-01-10T22:48:03
|
|
errors: update docs for giterr changes
|
|
38e61797
|
2019-01-14T14:33:36
|
|
changelog: document that we always build cdecl
|
|
6a0e9457
|
2019-01-17T20:13:25
|
|
changelog: document git_merge_analysis_for_ref
|
|
35be7f1f
|
2019-01-10T23:49:24
|
|
changelog: document openssl fixes
|
|
85feb28a
|
2019-01-10T23:36:08
|
|
changelog: document core.logallrefupdates=always
|
|
a6e5d46b
|
2019-01-17T20:12:04
|
|
fixup! changelog: document changes since 0.27
|
|
1bb03f7a
|
2019-01-10T21:32:05
|
|
changelog: document changes since 0.27
|
|
69cd4141
|
2018-10-19T16:30:43
|
|
docs: fix transparent/opaque confusion in the conventions file
|
|
db17b31b
|
2018-09-06T19:22:30
|
|
Merge pull request #4789 from pks-t/pks/licensing
docs: clarify and include licenses of dependencies
|
|
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.
|
|
c0b2e525
|
2018-08-27T09:23:02
|
|
Add two words to clarify
|
|
73e31f6f
|
2018-08-20T12:08:50
|
|
Rephrase wording on giterr_last documentation
|
|
3602b573
|
2018-08-20T10:08:30
|
|
Document giterr_last() use only after error. #4772
|
|
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.
|
|
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.
|
|
ad087303
|
2018-07-20T14:20:07
|
|
fuzzers: move readme to docs/fuzzing.md
|
|
243d40df
|
2018-06-22T19:21:22
|
|
docs: add unsaved index safety to changelog
|
|
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.
|
|
f81923ef
|
2018-06-09T18:31:57
|
|
Merge branch 'pks/docs-improvements'
|
|
8a2de353
|
2018-06-09T18:25:46
|
|
Merge branch 'compat/clibs'
|
|
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.
|
|
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.
|
|
d54c34a7
|
2018-05-21T17:04:11
|
|
docs: added note regarding difference in treatment of junction points from git
|
|
77799325
|
2018-05-02T07:46:53
|
|
docs: update differences-from-git to be more concise
|
|
0f69a324
|
2018-03-30T08:43:02
|
|
docs: add documentation to state differences from the git cli
|
|
ad006d87
|
2018-02-15T11:13:14
|
|
docs: document increasing the version number for releases
|
|
bb7c672a
|
2018-02-15T11:06:40
|
|
docs: fix typo in "release.md" filename
|
|
adc90b47
|
2018-01-27T21:00:53
|
|
docs: udpates to wording in release documentation
|
|
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.
|
|
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.
|
|
2b96b6ef
|
2015-10-14T09:41:27
|
|
Fix docs typo geterr_clear -> giterr_clear
|
|
27f680a9
|
2013-12-01T10:35:56
|
|
fix typos in docs
|
|
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.
|
|
b294f97e
|
2013-09-25T01:41:17
|
|
Merge pull request #1873 from mikeando/doc_cleanup
Cleaned up some tables in checkout-internals doc
|
|
6918d81e
|
2013-09-25T11:14:06
|
|
Fixed formatting of diff-internals.md
Indentation for lists was not working correctly.
|
|
53e0636c
|
2013-09-24T16:43:06
|
|
Cleaned up some tables in checkout-internals doc
The markdown wasn't rendering correctly.
|
|
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.
|
|
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.
|
|
bec65a5e
|
2013-04-01T22:16:21
|
|
merge!
|
|
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.
|
|
d73c94b2
|
2012-05-19T20:24:55
|
|
Fix spelling errors.
|
|
845f8314
|
2012-02-14T20:36:39
|
|
error-handling: Add reference documentation
|