| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| | |
git_merge_tree_flag_t cannot contain any GIT_DIFF_FIND_xxx flags so there's not point in checking for them
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
files
The implementation of the hashsig API disallows computing a signature on
small files containing only a few lines. This new flag disables this
behavior.
git_diff_find_similar() sets this flag by default which means that rename
/ copy detection of small files will now work. This in turn affects the
behavior of the git_status and git_blame APIs which will now detect rename
of small files assuming the right options are passed.
|
|\ \
| | |
| | |
| | | |
Fix crash in free() when git_buf_grow() fails.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Load prune configuration when a remote is created.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This introduces the functionality of submodule update in
'git_submodule_do_update'. The existing 'git_submodule_update' function is
renamed to 'git_submodule_update_strategy'. The 'git_submodule_update'
function now refers to functionality similar to `git submodule update`,
while `git_submodule_update_strategy` is used to get the configured value
of submodule.<name>.update.
|
| | |/
| |/|
| | |
| | |
| | | |
Submodule init should handle relative paths in .gitmodules files
and resolve these urls when updating the git config file.
|
| |/
|/|
| |
| | |
git_remote_download() must also clear the internal push state resulting from a possible earlier push operation. Otherwise calling git_remote_update_tips() will execute the push version instead of the fetch version and among other things, tags won't be updated.
|
|\ \
| | |
| | | |
Remote-tracking branch prunning
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This option does not get persisted to disk, which makes it different
from the rest of the setters. Remove it until we go all the way.
We still respect the configuration option, and it's still possible to
perform a one-time prune by calling the function.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For each remote-tracking branch we want to remove, we need to consider
it against every other refspec in case we have overlapping refspecs,
such as with
refs/heads/*:refs/remotes/origin/*
refs/pull/*/head:refs/remotes/origin/pr/*
as we'd otherwise remove too many refspecs.
Create a list of condidates, which are the references matching the rhs
of any active refspec and then filter that list by removing those
entries for which we find a remove reference with any active
refspec. Those which are left after this are removed.
|
| | |
| | |
| | |
| | |
| | | |
This makes a fetch+prune more similar to a connect+prune and makes it
more likely that we see errors in the decision to prune a reference.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
remote: remove git_push from the public API
|
| |/ /
| | |
| | |
| | |
| | | |
Instead we provide git_remote_upload() and git_remote_update_tips() in
order to have a parallel API for fetching and pushing.
|
|\ \ \
| | | |
| | | | |
Coverity fixes
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Undef stat for Mingw
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
treebuilder: rename _create() to _new()
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This function is a constructor, so let's name it like one and leave
_create() for the reference functions, which do create/write the
reference.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
The clock_gettime() function is normally not available under
AmigaOS, hence another solution is required. We are using now
GetUpTime() that is present in current versions of this
operating system.
|
|\ \ \
| | | |
| | | | |
Case changing rename
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On a case-insensitive filesystem, we need to deal with case-changing
renames (eg, foo -> FOO) by removing the old and adding the new,
exactly as if we were on a case-sensitive filesystem.
Update the `checkout::tree::can_cancel_checkout_from_notify` test, now
that notifications are always sent case sensitively.
|
|\ \ \
| | | |
| | | | |
don't treat 0x85 as whitespace
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A byte value of 0x85 is not whitespace, we were conflating that with
U+0085 (UTF8: 0xc2 0x85). This caused us to incorrectly treat valid
multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The openssl setup function needs to be GIT_EXPORT'ed, be sure
to include the `sys/openssl.h` header so that it is appropriately
decorated as an export function.
|
|/ /
| |
| |
| |
| |
| | |
For the REUC and NAME entries, we use size_t internally, and we take
size_t for the get_byindex() functions, but the entrycount() functions
strangely cast to an unsigned int instead.
|
|\ \
| | |
| | | |
Make OpenSSL locking warnings more severe
|
| |/
| |
| |
| |
| | |
Our git_openssl_set_locking() would ideally not exist. Make it clearer
that we provide it as a last resort and you should prefer anything else.
|
|\ \
| | |
| | | |
Show progress output on fetch for the local transport
|
| |/
| |
| |
| |
| | |
Pretend we have a git process at the other end by creating a similar
progress output when inserting objects into the packbuilder.
|
| | |
|
| |
| |
| |
| |
| | |
We need to know what wchar_t and MAX_PATH are. Including common.h takes
care of that for us.
|
| |
| |
| |
| |
| |
| | |
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
|
| |
| |
| |
| |
| |
| | |
Validate HFS ignored char ".git" paths when `core.protectHFS` is
specified. Validate NTFS invalid ".git" paths when `core.protectNTFS`
is specified.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
HFS filesystems ignore some characters like U+200C. When these
characters are included in a path, they will be ignored for the
purposes of comparison with other paths. Thus, if you have a ".git"
folder, a folder of ".git<U+200C>" will also match. Protect our
".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
|