| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
`git_strarray` is a public-facing type. Change
`git_buf_text_common_prefix` to not use it, and just take an array of
strings instead.
|
|\
| |
| | |
filter: use a `git_oid` in filter options, not a pointer
|
| |
| |
| |
| |
| |
| |
| | |
Using a `git_oid *` in filter options was a mistake; it is a deviation
from our typical pattern, and callers in some languages that GC may need
very special treatment in order to pass both an options structure and a
pointer outside of it.
|
|/
|
|
|
| |
`git_email__append_from_diff` is meant to - well, append from a diff.
Clearing the buffer, by definition, is not appending. Stop doing that.
|
|\
| |
| | |
Introduce `git_email_create`; deprecate `git_diff_format_email`
|
| |
| |
| |
| | |
`git_diff_format_email` is deprecated in favor of `git_email_create`.
|
| |
| |
| |
| |
| | |
`git format-patch` includes diffs with rename detection enabled by
default when creating emails. Match this behavior.
|
| |
| |
| |
| |
| | |
`git format-patch` includes binary diffs by default when creating
emails. Match this behavior.
|
| | |
|
| |
| |
| |
| |
| | |
Introduce `git_email__append_from_diff` so that we don't always
overwrite the input buffer.
|
| |
| |
| |
| | |
Move the `git_diff_commit_as_email` function to use `email_create`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a function to create an email from a diff and multiple inputs
about the source of the diff.
Creating an email from a diff requires many more inputs, and should be
discouraged in favor of building directly from a commit, and is thus in
the `sys` namespace.
|
| |
| |
| |
| |
| |
| | |
Create `git_email_*` which will encapsulate email creation and
application, and `git_email_create_from_commit` in particular, which
creates an email for a single commit.
|
| | |
|
| |
| |
| |
| |
| | |
A length of 0 indicates an error and GetLastError() will be set. If
GetLastError() is unset then the environment variable has a length of 0.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
the filtering code to ensure the cached longpath setting is returned.
Fixes: #6054
|
|\ \ \
| | | |
| | | | |
Allow proxy options when connecting with a detached remote.
|
| | | |
| | | |
| | | | |
Initialise cfg variable.
|
| | | |
| | | |
| | | | |
Co-authored-by: Edward Thomson <ethomson@github.com>
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When determining if ours or theirs changed, we check the oids but not
their respective file modes. This can lead to merges introducing incorrect
file mode changes (eg., in a revert). A simple linear example might be:
commit A - introduces file `foo` with chmod 0755
commit B - updates some unrelated file
commit C - renames `foo` to `bar` and chmod 0644
If B is reverted, `bar` will unexpectedly acquire mode 0755.
|
|\ \ \
| |_|/
|/| | |
Discover libssh2 without pkg-config
|
| | |
| | |
| | | |
Co-authored-by: Edward Thomson <ethomson@github.com>
|
| |/ |
|
|\ \
| | |
| | | |
Use __typeof__ GNUC keyword for ISO C compatibility
|
| |/ |
|
|\ \
| | |
| | | |
indexer: Avoid one `mmap(2)`/`munmap(2)` pair per `git_indexer_append` call
|
| | |
| | |
| | |
| | |
| | | |
Turns out, double negatives are harder to parse than positive
statements.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It turns out that if we use `mmap(2)`, non-Windows remote filesystems
break due to permissions. If we don't, _Windows_ remote filesystems
break due to lack of coherence between memory mapped views of the file
and direct I/O operations done to the files.
To break out of this impossible situation, conditionally-compile
versions of Windows-specific `write_at` and `append_to_pack`.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Now that we're not using `mmap(2)` for writing stuff, we don't need to
truncate the file afterwards, since it'll have the correct size at the
end of the process. Whee~!
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes `append_to_pack` completely rely on `p_pwrite` to do
all its I/O instead of splitting it between `p_pwrite` and a
`mmap(2)`/`munmap(2)`+`memcpy(3)`. This saves a good chunk of user CPU
time and avoids making two syscalls per round, but doesn't really cut
down a lot of wall time (~1% on cloning the
[git](https://github.com/git/git.git) repository).
|
|\ \
| | |
| | | |
Support custom git extensions
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow users to specify additional repository extensions that they want
to support. For example, callers can specify that they support
`preciousObjects` and then may open repositories that support
`extensions.preciousObjects`.
Similarly, callers may opt out of supporting extensions that the library
itself supports.
|
|\ \
| | |
| | | |
Fix coding style for pointer
|
| |/
| |
| |
| | |
Make some syntax change to follow coding style.
|
|\ \
| | |
| | | |
Fix config parsing for multiline with multiple quoted comment chars
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
The strip_comments function uses the count of quotes to know if a
comment char (';' or '#') is the start of a comment or part of the
multiline as a string.
Unfortunately converting the count of quotes from previous lines to a
boolean meant that it would only work as expected in some cases
(0 quotes or an odd number of quotes).
|
|/
|
|
| |
Code cleanup to use `git_buf`s instead of simple c strings.
|
|
|
|
|
|
| |
before freeing.
This follows the same principle as `buffer.c` where the same check is done before freeing the buffer. It fixes the crash described in #6028.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Update the proxy detection for a remote.
1. Honor `http.<url>.proxy` syntax for a remote's direct URL and
parent URLs.
2. Honor an empty configuration URL to override a proxy configuration.
Add tests to ensure that configuration specificity is honored.
|
| |
|
|
|
|
|
|
| |
Provide a utility method on a url to determine if it matches any pattern
in a comma-separated list, similar to what one would find in `NO_PROXY`
environment variables.
|
|
|
|
|
| |
Provide a method to determine if a given URL matches a host:port pattern
like the ones found in `NO_PROXY` environment variables.
|
|
|
|
|
|
|
| |
Introduce a utility function that compares a NUL terminated string to a
possibly not-NUL terminated string with length. This is similar to
`strncmp` but with an added check to ensure that the lengths match (not
just the `size` portion of the two strings).
|
|
|
|
|
|
| |
Item 2 of 3 from #4164
Signed-off-by: Mathieu Parent <math.parent@gmail.com>
|
|
|
|
|
|
|
|
| |
This change fixes a possible null pointer dereference if anything inside
`git_commit_graph_writer_add_index_file` fails before the packfile being
valid.
https://scan6.coverity.com/reports.htm#v52218/p10377/fileInstanceId=122935896&defectInstanceId=32525576&mergedDefectId=1461634
|
|\
| |
| | |
Fix worktree iteration when repository has no common directory
|