|
25b75cd9
|
2021-03-10T07:06:15
|
|
commit-graph: Create `git_commit_graph` as an abstraction for the file
This change does a medium-size refactor of the git_commit_graph_file and
the interaction with the ODB. Now instead of the ODB owning a direct
reference to the git_commit_graph_file, there will be an intermediate
git_commit_graph. The main advantage of that is that now end users can
explicitly set a git_commit_graph that is eagerly checked for errors,
while still being able to lazily use the commit-graph in a regular ODB,
if the file is present.
|
|
9b04d0be
|
2019-11-22T15:04:09
|
|
types: introduce `git_object_size_t`
Introduce `git_object_size_t`, an unsigned type that we can use for the
maximum size of git objects.
|
|
71ca3dc7
|
2019-09-12T16:50:30
|
|
transport: move transport-related typedef in transport.h
|
|
606f6e21
|
2019-09-09T17:01:44
|
|
cert: move cert enums & struct to its own header
|
|
975d6722
|
2019-02-21T10:13:29
|
|
indexer: rename git_transfer_progress
The name `git_transfer_progress` does not reflect its true purpose.
It suggests that it's progress for a non-existence `git_transfer`
object, and is used for indexing callbacks more broadly than just
during transfers.
Rename `git_transfer_progress` to `git_indexer_progress`.
|
|
9e4d421e
|
2019-01-15T11:32:13
|
|
doc: clarify that git_time_t is seconds from the epoch
|
|
a7d0d14f
|
2019-01-23T00:07:40
|
|
deprecation: move deprecated bits to deprecated.h
|
|
1b2af79e
|
2019-01-20T10:49:23
|
|
deprecation: use the enum type in declaration
The C standard does not specify whether an enum is a signed or unsigned
type. Obviously, any enum that includes negative values _must_ be
signed, but if all values are positive then the compiler is free to
choose signed or unsigned.
Thus, by changing the type signatures to `git_object_t` and declaring
the old `GIT_OBJ_` values as a signed or unsigned int, we risk a
mismatch between what the compiler has chosen for a `git_object_t`'s
type and our type declaration.
Thus, we declare the deprecated values as the enum instead of guessing.
|
|
1758636b
|
2019-01-19T01:38:34
|
|
Merge pull request #4939 from libgit2/ethomson/git_ref
Move `git_ref_t` to `git_reference_t`
|
|
b2c2dc64
|
2019-01-19T01:36:40
|
|
Merge pull request #4940 from libgit2/ethomson/git_obj
More `git_obj` to `git_object` updates
|
|
22d2062d
|
2019-01-09T18:25:10
|
|
Introduce GIT_CALLBACK macro to enforce cdecl
Since we now always build the library with cdecl calling conventions,
our callbacks should be decorated as such so that users will not be able
to provide callbacks defined with other calling conventions.
The `GIT_CALLBACK` macro will inject the `__cdecl` attribute as
appropriate.
|
|
cd350852
|
2019-01-17T10:40:13
|
|
object_type: GIT_OBJECT_BAD is now GIT_OBJECT_INVALID
We use the term "invalid" to refer to bad or malformed data, eg
`GIT_REF_INVALID` and `GIT_EINVALIDSPEC`. Since we're changing the
names of the `git_object_t`s in this release, update it to be
`GIT_OBJECT_INVALID` instead of `BAD`.
|
|
90046899
|
2019-01-17T10:42:51
|
|
object_type: mark old values as deprecated
Mark old object type values as `static const` so that we can mark them
as deprecated with the `GIT_DEPRECATED` macro.
|
|
87fe5788
|
2019-01-16T23:58:09
|
|
references: use full name in type names
Update the reference type names from an abbreviation (`git_ref`) to use
the fullname (`git_reference`). This ensures that we are consistent
with our naming for reference types and functions throughout the
library.
The previous names are now marked as deprecated.
|
|
26b21b39
|
2018-11-14T22:48:10
|
|
object_type: remove unused object type flags
The two "reserved" bits in `git_object_t` are unused. They were
included for completeness, but downstream users should never use them
and they should not have been made public.
These values are never set.
With the refactoring of `git_otype` into `git_object_t`, we can remove
these from the new API. They will remain in the old (deprecated) API
in the unlikely event that someone was using them.
|
|
7e7859a1
|
2018-11-14T21:12:55
|
|
object_type: update enumeration names
Update the `git_otype` names to reflect our current naming conventions.
`git_otype` is now `git_object_t` and the `GIT_OBJ_*` values are now
`GIT_OBJECT_*` values.
The old macro, enumeration and structure names are retained and simply
set to the new names.
|
|
c97d302d
|
2018-11-28T13:45:41
|
|
Merge pull request #4879 from libgit2/ethomson/defer_cert_cred_cb
Allow certificate and credential callbacks to decline to act
|
|
a2e6e0ea
|
2018-11-06T14:15:43
|
|
transport: allow cred/cert callbacks to return GIT_PASSTHROUGH
Allow credential and certificate checking callbacks to return
GIT_PASSTHROUGH, indicating that they do not want to act.
Introduce this to support in both the http and ssh callbacks.
Additionally, enable the same mechanism for certificate validation.
This is most useful to disambiguate any meaning in the publicly exposed
credential and certificate functions (`git_transport_smart_credentials`
and `git_transport_smart_certificate_check`) but it may be more
generally useful for callers to be able to defer back to libgit2.
|
|
c358bbc5
|
2018-11-12T17:22:47
|
|
index: introduce git_index_iterator
Provide a public git_index_iterator API that is backed by an index
snapshot. This allows consumers to provide a stable iteration even
while manipulating the index during iteration.
|
|
56303e1a
|
2018-05-07T11:59:00
|
|
mailmap: API and style cleanup
|
|
e3dcaca5
|
2018-03-17T18:15:01
|
|
mailmap: Integrate mailmaps with blame and signatures
|
|
bf70fa4b
|
2018-03-22T23:27:28
|
|
docs: move comment so docurium sees it
|
|
efad967a
|
2018-03-22T23:27:23
|
|
docs: fix some comment-marker typos
|
|
84bcae6c
|
2018-03-22T23:27:20
|
|
docs: add buffer.h & oid.h to types.h
Otherwise docurium/clang chokes on the types, and ignores the documentation comments altogether.
|
|
370ecdb2
|
2018-03-27T10:10:09
|
|
types: remove unused git_merge_result
`git_merge_result` is currently unused in the codebase and generates a blank page in the [documentation](https://libgit2.github.com/libgit2/#HEAD/type/git_merge_result).
|
|
f063dafb
|
2017-11-12T10:56:50
|
|
signature: distinguish +0000 and -0000 UTC offsets
Git considers '-0000' a valid offset for signature lines. They need to
be treated as _not_ equal to a '+0000' signature offset. Parsing a
signature line stores the offset in a signed integer which does not
distinguish between `+0` and `-0`.
This patch adds an additional flag `sign` to the `git_time` in the
`signature` object which is populated with the sign of the offset. In
addition to exposing this information to the user, this information is
also used to compare signatures.
/cc @pks-t @ethomson
|
|
d3bc09e8
|
2015-10-21T12:02:31
|
|
worktree: introduce `struct git_worktree`
Introduce a new `struct git_worktree`, which holds information
about a possible working tree connected to a repository.
Introduce functions to allow opening working trees for a
repository.
|
|
c2418f46
|
2015-06-25T12:48:44
|
|
Rename FALLBACK to UNSPECIFIED
Fallback describes the mechanism, while unspecified explains what the
user is thinking.
|
|
daacf96d
|
2015-06-24T23:34:40
|
|
Merge pull request #3097 from libgit2/cmn/submodule-config-state
Remove run-time configuration settings from submodules
|
|
cdee630f
|
2015-06-09T19:07:58
|
|
curl: extract certificate information
The information is exposed by curl for some crypto libraries in the form
of name:content strings. We can't do much more than return this
information.
|
|
783672fa
|
2015-05-11T12:01:08
|
|
submodule: remove the RESET enum values
These are not useful anymore, as we don't affect the instance's
configuration.
|
|
c6f489c9
|
2015-05-04T17:29:12
|
|
submodule: add an ignore option to status
This lets us specify in the status call which ignore rules we want to
use (optionally falling back to whatever the submodule has in its
configuration).
This removes one of the reasons for having `_set_ignore()` set the value
in-memory. We re-use the `IGNORE_RESET` value for this as it is no
longer relevant but has a similar purpose to `IGNORE_FALLBACK`.
Similarly, we remove `IGNORE_DEFAULT` which does not have use outside of
initializers and move that to fall back to the configuration as well.
|
|
058b753c
|
2015-04-22T15:45:21
|
|
remote: move the transport ctor to the callbacks
Instead of having it set in a different place from every other callback,
put it the main structure. This removes some state from the remote and
makes it behave more like clone, where the constructors are passed via
the options.
|
|
efc2fec5
|
2015-04-19T00:55:00
|
|
push: report the update plan to the caller
It can be useful for the caller to know which update commands will be
sent to the server before the packfile is pushed up. git does this via
the pre-push hook.
We don't have hooks, but as it adds introspection into what is
happening, we can add a callback which performs the same function.
|
|
b75f15aa
|
2015-02-18T09:25:32
|
|
git_writestream: from git_filter_stream
|
|
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.
|
|
ec7e1c93
|
2015-02-10T08:31:48
|
|
Fix doc comment formatting
|
|
18b00406
|
2014-10-03T19:02:29
|
|
s/git_merge_head/git_annotated_commit
Rename git_merge_head to git_annotated_commit, as it becomes used
in more operations than just merge.
|
|
b6b636a7
|
2014-08-25T13:29:50
|
|
rebase: init/open a git_rebase object
|
|
12e18031
|
2014-10-17T22:22:59
|
|
Update some documentation
|
|
f54d8d52
|
2014-10-10T11:28:58
|
|
Merge pull request #2574 from csware/hostname-for-certificate_check_cb
Provide host name to certificate_check_cb
|
|
ab8d9242
|
2014-06-28T06:39:38
|
|
Introduce reference transactions
A transaction allows you to lock multiple references and set up changes
for them before applying the changes all at once (or as close as the
backend supports).
This can be used for replication purposes, or for making sure some
operations run when the reference is locked and thus cannot be changed.
|
|
e6e834a1
|
2014-09-18T12:23:07
|
|
Provide host name to certificate_check_cb
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
0782fc43
|
2014-09-16T01:47:30
|
|
net: use only structs to pass information about cert
Instead of spreading the data in function arguments, some of which
aren't used for ssh and having a struct only for ssh, use a struct for
both, using a common parent to pass to the callback.
|
|
2aee4642
|
2014-08-31T23:16:19
|
|
transport: move the cert type enum to types.h
This should make the mingw compiler happy.
|
|
17491f6e
|
2014-08-29T17:18:23
|
|
transport: always call the certificate check callback
We should let the user decide whether to cancel the connection or not
regardless of whether our checks have decided that the certificate is
fine. We provide our own assessment to the callback to let the user fall
back to our checks if they so desire.
|
|
ec1ce458
|
2014-08-10T17:06:53
|
|
http: send the DER-encoded cert to the callback
Instead of the parsed data, we can ask OpenSSL to give us the
DER-encoded version of the certificate, which the user can then parse
and validate.
|
|
9b940586
|
2014-07-04T12:45:43
|
|
Provide a callback for certificate validation
If the certificate validation fails (or always in the case of ssh),
let the user decide whether to allow the connection.
The data structure passed to the user is the native certificate
information from the underlying implementation, namely OpenSSL or
WinHTTP.
|
|
c180c065
|
2014-07-09T17:58:39
|
|
Custom transport: minor cleanups
* Move the transport registration mechanisms into a new header under
'sys/' because this is advanced stuff.
* Remove the 'priority' argument from the registration as it adds
unnecessary complexity. (Since transports cannot decline to operate,
only the highest priority transport is ever executed.) Users who
require per-priority transports can implement that in their custom
transport themselves.
* Simplify registration further by taking a scheme (eg "http") instead
of a prefix (eg "http://").
|
|
9e2d2f30
|
2014-06-04T15:41:48
|
|
Whitespace wibbles.
|
|
dc49e1b5
|
2014-06-04T15:36:28
|
|
Merge remote-tracking branch 'origin/development' into fix-git-status-list-new-unreadable-folder
Conflicts:
include/git2/diff.h
|
|
11e2665e
|
2014-06-02T18:53:32
|
|
Formatting fixes for the docs
These are some issues I found while playing around with the new parser
for docurium.
|
|
a777fc37
|
2014-05-30T16:21:13
|
|
Remove GIT_FILEMODE_NEW as it's unused.
And use 0 for GIT_FILEMODE_UNREADABLE.
|
|
7c4bbbf4
|
2014-05-23T00:27:34
|
|
Try a value for UNREADABLE that won't get masked out?!
|
|
86c9d3da
|
2014-05-21T22:54:34
|
|
Return GIT_FILEMODE_UNREADABLE for files that fail to stat.
|
|
48e60ae7
|
2014-04-21T11:23:29
|
|
Don't redefine the same callback types, their signatures may change
|
|
fa13ee2d
|
2014-04-16T16:59:43
|
|
Add GIT_BRANCH_ALL to git_branch_t enum
git_branch_t is an enum so requesting GIT_BRANCH_LOCAL | GIT_BRANCH_REMOTE is not possible as it is not a member of the enum (at least VS2013 C++ complains about it).
This fixes a regression introduced in commit a667ca8298193b3103c1dbdcb1f6c527e6e99eb2 (PR #1946).
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c0644c3f
|
2014-01-28T11:45:06
|
|
Make submodule fetchRecurse match other options
This removes the fetchRecurse compiler warnings and makes the
behavior match the other submodule options (i.e. the in-memory
setting can be reset to the on-disk value).
|
|
e7f89b46
|
2014-01-04T18:18:59
|
|
Fix spelling mistake
Closes #2029
|
|
039db728
|
2013-07-03T01:00:45
|
|
merge branch into current, updating workdir
|
|
a5c16f3c
|
2013-11-01T10:18:03
|
|
Add git_diff_options_init helper
Sometimes the static initializer for git_diff_options cannot be
used and since setting them to all zeroes doesn't actually work
quite right, this adds a new helper for that situation.
This also adds an explicit new value to the submodule settings
options to be used when those enums need static initialization.
|
|
ab46b1d8
|
2013-10-23T15:08:18
|
|
indexer: include the delta stats
The user is unable to derive the number of deltas in the pack, as that
would require them to capture the stats exactly in the moment between
download and final processing, which is abstracted away in the fetch.
Capture these numbers for the user and expose them in the progress
struct. The clone and fetch examples now also present this information
to the user.
|
|
893055f2
|
2013-10-11T17:24:29
|
|
indexer: clearer stats for thin packs
Don't increase the number of total objects, as it can produce
suprising progress output. The only addition compared to pre-thin is
the addition of local_objects to allow an output similar to git's
"completed with %d local objects".
|
|
0b33fca0
|
2013-10-02T13:39:35
|
|
indexer: fix thin packs
When given an ODB from which to read objects, the indexer will attempt
to inject the missing bases at the end of the pack and update the
header and trailer to reflect the new contents.
|
|
9b7d02ff
|
2013-08-05T10:53:39
|
|
Update submodule documentation
Fixes #1762
|
|
f9775a37
|
2013-06-29T23:22:31
|
|
Add ignore_submodules to diff options
This adds correct support for an equivalent to --ignore-submodules
in diff, where an actual ignore value can be passed to diff to
override the per submodule settings in the configuration.
This required tweaking the constants for ignore values so that
zero would not be used and could represent an unset option to the
diff. This was an opportunity to move the submodule values into
include/git2/types.h and to rename the poorly named DEFAULT values
for ignore and update constants to RESET instead.
Now the GIT_DIFF_IGNORE_SUBMODULES flag is exactly the same as
setting the ignore_submodules option to GIT_SUBMODULE_IGNORE_ALL
(which is actually a minor change from the old behavior in that
submodules will now be treated as UNMODIFIED deltas instead of
being left out totally - if you set GIT_DIFF_INCLUDE_UNMODIFIED).
This includes tests for the various new settings.
|
|
1ee2ef87
|
2013-05-21T11:05:21
|
|
status access by index, providing more details to callers
|
|
26ab6284
|
2013-05-24T03:30:35
|
|
Merge pull request #1593 from ethomson/conflict_iterator
introduce git_conflict_iterator
|
|
0e0108f7
|
2013-05-17T15:59:57
|
|
introduce git_conflict_iterator
|
|
9c06b250
|
2013-05-16T13:04:37
|
|
merge setup
|
|
4def7035
|
2013-03-02T19:31:03
|
|
refs: introduce an iterator
This allows us to get a list of reference names in a loop instead of callbacks.
|
|
83cc70d9
|
2013-04-19T12:48:33
|
|
Move odb_backend implementors stuff into git2/sys
This moves some of the odb_backend stuff that is related to the
internals of an odb_backend implementation into include/git2/sys.
Some of the stuff related to streaming I left in include/git2
because it seemed like it would be reasonably needed by a normal
user who wanted to stream objects into and out of the ODB.
Also, I added APIs for traversing the list of backends so that
some of the tests would not need to access ODB internals.
|
|
d00d5464
|
2013-03-01T15:37:33
|
|
immutable references and a pluggable ref database
|
|
359fc2d2
|
2013-01-08T17:07:25
|
|
update copyrights
|
|
e5562e18
|
2013-01-06T10:12:05
|
|
Revert "Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE"
This reverts commit 47fbcbb5a8d4aad87371a381ebdadd04cde3fb2b.
|
|
47fbcbb5
|
2013-01-06T10:02:37
|
|
Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE
|
|
de70aea6
|
2012-12-03T12:41:50
|
|
Remove GIT_SIGNATURE_VERSION and friends
|
|
bde336ea
|
2012-11-29T12:26:09
|
|
Add version fields and init macros for public input structs.
|
|
613d5eb9
|
2012-11-28T11:42:37
|
|
Push! By schu, phkelley, and congyiwu, et al
|
|
824cb2d5
|
2012-11-20T12:13:52
|
|
Updates to reset.h
|
|
54b2a37a
|
2012-11-20T16:02:25
|
|
Clean up config.h
|
|
09cc0b92
|
2012-11-05T11:33:10
|
|
create callback to handle packs from fetch, move the indexer to odb_pack
|
|
0a32dca5
|
2012-08-19T22:26:32
|
|
gsoc-pack-objects WIP
|
|
ee8bb8ba
|
2012-08-19T21:24:51
|
|
reset: add support for GIT_RESET_HARD mode
|
|
d854d59e
|
2012-08-17T21:15:32
|
|
filemode: introduce enum to ease use of attributes
|
|
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.
|
|
a21bb1aa
|
2012-06-13T23:28:51
|
|
Merge remote-tracking branch 'source/development' into development
|
|
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
|
|
edebceff
|
2012-05-01T13:57:45
|
|
Add git_reset()
Currently supports Soft and Mixed modes.
|
|
d0517805
|
2012-06-05T11:47:17
|
|
Required include for OS4 to typedef int64_t
|
|
2e2e9785
|
2012-05-18T00:42:24
|
|
Properly tag all `enums` with a `_t`
|
|
731df570
|
2012-04-04T15:57:19
|
|
Add basic branch management API: git_branch_create(), git_branch_delete(), git_branch_list()
|
|
bf477ed4
|
2012-02-15T00:33:38
|
|
Add git notes API
This commit adds basic git notes support to libgit2, namely:
* git_note_read
* git_note_message
* git_note_oid
* git_note_create
* git_note_remove
In the long run, we probably want to provide some convenience callback
mechanism for merging and moving (filter-branch) notes.
Signed-off-by: schu <schu-github@schulog.org>
|
|
5e0de328
|
2012-02-13T17:10:24
|
|
Update Copyright header
Signed-off-by: schu <schu-github@schulog.org>
|
|
d88d4311
|
2011-11-28T08:40:40
|
|
remote: Cleanup the remotes code
- Hide the remaining transports code
- Drop `git_headarray`, switch to using a callback to list refs. Makes
the code cleaner.
|
|
87d9869f
|
2011-09-19T03:34:49
|
|
Tabify everything
There were quite a few places were spaces were being used instead of
tabs. Try to catch them all. This should hopefully not break anything.
Except for `git blame`. Oh well.
|
|
bb742ede
|
2011-09-19T01: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.
|
|
b2e60e4e
|
2011-08-10T15:25:17
|
|
Add common.h to types.h
|
|
f6e4a98a
|
2011-07-11T13:04:36
|
|
Finish to hide git_pkt from external API.
|
|
5f35d0ce
|
2011-07-09T14:53:00
|
|
Remove the last reference of git_net_direction enum
|