| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
When the fetch refspec does not include the remote's default branch, it
indicates an error in user expectations or programmer error. Error out
in that case.
This lets us get rid of the dummy refspec which can never work as its
zeroed out. In the cases where we did not find a default branch, we set
HEAD detached immediately, which lets us refactor the "normal" path,
removing `found_branch`.
|
| |
|
|
|
| |
If the remote does not advertise HEAD, then it is unborn and we cannot
checkout that branch. Handle it the same way as an empty repo.
|
| |
|
|
|
| |
When cloning, we may be asking for a particular branch or subset of
branches. Make sure we test for that.
|
| |
|
|
|
|
| |
Add tests for the case when there are no branches on the remote and when
HEAD is detached but has the id of a non-branch. In both of these cases,
we should return ENOTFOUND.
|
| |
|
|
|
|
|
| |
A repository can have any number of references which we're not
interested in such as notes or tags. For the default branch calculation
we only care about branches. Make the decision about the number of
branches rather than the number of refs in general.
|
| |
|
|
|
| |
If we do not have a HEAD ref in the heads, we already know there is no
default branch. Return immedately.
|
| |
|
|
| |
Assert what we already do, so as to notice changes.
|
| |
|
|
|
| |
This was added to avoid the remote's default branch to be considered to
the be notes one which the first network test leaves behind.
|
| | |
|
| |\
| |
| | |
Fix ahead-behind results
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we see PARENT1, it means there is a local commit and thus we are
ahead. Likewise, seeing PARENT2 means that the upstream branch has a
commit and we are one more behind.
The logic is currently reversed. Correct it.
This fixes #2501.
|
| | |
| |
| |
| |
| | |
The logic was reversed. I have checked manually each pair with git and
adjusted the expectation to what git status prints.
|
| |\ \
| | |
| | | |
winhttp: Prevent swallowing of url parsing error
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Set timeout on remote (Add timeout for WinHttpReceiveResponse #2147)
|
| | | | |
| | | |
| | | |
| | | | |
Connection timeout set to 1 minute. Read/Write timeout remains set to infinite #2147
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | | |
Allow to override default ssh transport_cb - in order to allow third party ssh transports
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
W/o this patch it is not possible to have a third party ssh transport_cb if GIT_SSH is disabled or a third party transport_cb which has a higher priority than the default one.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | |\ \ \ \
| |/ / / /
|/| | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Refactor git_cache to use an rwlock
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
This significantly reduces contention when many threads are trying to
read from the cache simultaneously.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Fix bugs with negative ignores inside an ignored parent directory
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`git help ignore` has this to say about trailing slashes:
> If the pattern ends with a slash, it is removed for the purpose of
> the following description, but it would only find a match with a
> directory. In other words, foo/ will match a directory foo and
> paths underneath it, but will not match a regular file or a
> symbolic link foo (this is consistent with the way how pathspec
> works in general in Git).
Sure enough, having manually performed the same steps as this test,
`git status` tells us the following:
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: force.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../.gitignore
# child1/
# child2/
i.e. neither child1 nor child2 is ignored.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When writing 'bin/*' in the rules, this means we ignore very file inside
bin/ individually, but do not ignore the directory itself. Thus the
status listing should list both files under bin/, one untracked and one
ignored.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
While scanning through a directory hierarchy, this prevents a
positive ignore match on a parent directory from blocking the scan
of a directory when a negative match rule exists for files inside
the directory.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
add Julia to the language bindings list
|
| | | |_|_|_|/
| |/| | | | |
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
pack: return the correct final offset
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The callers of git_packfile_unpack() expect the obj_offset argument to
be set to the beginning of the next object. We were mistakenly returning
the the offset of the object's data, which causes the CRC function to
try to use the wrong offset.
Set obj_offset to curpos instead of elem->offset to point to the next
element and bring back expected behaviour.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
merge base: Correctly raise an error if a non-commit object is passed.
|
| | | |_|_|/
| |/| | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Allow mkdir helper to skip parent errors
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Our mkdir helper was failing is a parent directory was not
accessible even if the child directory could be created.
This changes the helper to keep trying child directories
even when the parent is unwritable.
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
Check if the refspec matches before transforming
|
| | | | | | |
|
| | | |_|/
| |/| | |
|
| |\ \ \ \
| | | | |
| | | | | |
Export `git_oid_tostr_s` instead of `_allocfmt`
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit 0dc54e149498bbd5de5e5ecc6006f9f5afb6588c.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We don't really use this at all, and it breaks packaging in Windows.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
http: make sure we can consume the data we request
|
| | | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The recv buffer (parse_buffer) and the buffer have independent sizes and
offsets. We try to fill in parse_buffer as much as possible before
passing it to the http parser. This is fine most of the time, but fails
us when the buffer is almost full.
In those situations, parse_buffer can have more data than we would be
able to put into the buffer (which may be getting full if we're towards
the end of a data sideband packet).
To work around this, we check if the space we have left on our buffer is
smaller than what could come from the network. If this happens, we make
parse_buffer think that it has as much space left as our buffer, so it
won't try to retrieve more data than we can deal with.
As the start of the data may no longer be at the start of the buffer, we
need to keep track of where it really starts (data_offset) and use that
in our calculations for the real size of the data we received from the
network.
This fixes #2518.
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
Removing a completed starter project.
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Removing the starter project for adding support for the symref
extension (#2006) from PROJECTS.md, as this seems to have been
completed with the merge of #2376.
|