| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
The experimental function signature is only available when
`GIT_EXPERIMENTAL_SHA256` is enabled.
|
| |
|
|
|
|
|
|
|
|
| |
libgit2 can be built with optional, experimental sha256 support. This
allows consumers to begin testing and providing feedback for our sha256
support while we continue to develop it, and allows us to make API
breaking changes while we iterate on a final sha256 implementation.
The results will be `git2-experimental.dll` and installed as
`git2-experimental.h` to avoid confusion with a production libgit2.
|
| |
|
|
| |
libgit2's current default oid type is SHA1, set a public macro for that.
|
| | |
|
| |
|
|
|
| |
`git_oid`s now have a type, and we require the oid type when creating
the object id from creation functions.
|
| | |
|
| |
|
|
|
|
| |
We require an enumeration to help us identify the different types of
object IDs. Currently, we only support SHA1 but we will support SHA256
in the future.
|
| |
|
|
|
| |
Callers should not assume the layout of the oid structure; provide them
a macro that defines the null / zero sha1 object id.
|
| |
|
|
|
| |
In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ`
need to indicate that they're the size of _SHA1_ OIDs.
|
| |
|
|
|
| |
Stop returning a void for functions, future-proofing them to allow them
to fail.
|
| |
|
|
|
|
| |
The only function that is named `issomething` (without underscore) was
`git_oid_iszero`. Rename it to `git_oid_is_zero` for consistency with
the rest of the library.
|
| |
|
|
|
|
|
|
|
| |
Move to the `git_error` name in error-related functions, deprecating the
`giterr` functions. This means, for example, that `giterr_last` is now
`git_error_last`. The old names are retained for compatibility.
This only updates the public API; internal API and function usage
remains unchanged.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
The old `allocfmt` is of no use to callers, as they are not able to free
the returned buffer. Export a new API that returns a static string that
doesn't need to be freed.
|
| | |
|
| |\
| |
| | |
Update documentation of git_oid_streq to remove outdated error code
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
I frequently want to the the first N digits of an OID formatted
as a string and I'd like it to be efficient. This function makes
that easy and I could rewrite the OID formatters in terms of it.
|
| |
|
|
|
| |
Removed useless prototype and renamed object typecast functions
declaration macro.
|
| | |
|
| |
|
|
|
|
|
|
| |
Add a new git_oid_strcmp that compares a string OID with a hex
oid for sort order, and then reimplement git_oid_streq using it.
This actually should speed up git_oid_streq because it only reads
as far into the string as it needs to, whereas previously it would
convert the whole string into an OID and then use git_oid_cmp.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This option has been sitting unimplemented for a while, so I
finally went through and implemented it along with some tests.
As part of this, I improved the implementation of
GIT_DIFF_IGNORE_SUBMODULES so it be more diligent about avoiding
extra work and about leaving off delta records for submodules to
the greatest extent possible (though it may include them still
if you are request TYPECHANGE records).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big redesign of the git_submodule_status API and the
implementation of the redesigned API. It also fixes a number of
bugs that I found in other parts of the submodule API while
writing the tests for the status part.
This also fixes a couple of bugs in the iterators that had not
been noticed before - one with iterating when there is a gitlink
(i.e. separate-work-dir) and one where I was treating anything
even vaguely submodule-like as a submodule, more aggressively
than core git does.
|
| |\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/netops.c
src/netops.h
src/oid.c
|
| | | |
|
| |/
|
|
|
|
|
|
|
| |
git.git uses an inlined hashcmp function instead of memcmp, since it
performes much better when comparing hashes (most hashes compared
diverge within the first byte).
Measurements and rationale for the curious reader:
http://thread.gmane.org/gmane.comp.version-control.git/172286
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
To conform the naming scheme of git_oid_fromstr we should change the
name of git_oid_to_string to git_oid_tostr.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a major reorganization of the diff code. This changes
the diff functions to use the iterators for traversing the
content. This allowed a lot of code to be simplified. Also,
this moved the functions relating to outputting a diff into a
new file (diff_output.c).
This includes a number of other changes - adding utility
functions, extending iterators, etc. plus more tests for the
diff code. This also takes the example diff.c program much
further in terms of emulating git-diff command line options.
|
| |
|
|
| |
Signed-off-by: schu <schu-github@schulog.org>
|
| |
|
|
|
| |
Ensure that all memory related functions (malloc, calloc, strdup, free,
etc) are using their respective `git__` wrappers.
|
| |
|
|
| |
are equal
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
an error code".
|
| |
|
|
| |
thus avoid including C library's header in C++ header.
|
| |
|
|
| |
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Drop redundant methods. The ncmp method is now public
|
| |
|
|
|
| |
Yeah. Finally. Fuck the old names, this ain't POSIX
and they don't make any sense at all.
|
| | |
|