| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
ssh: provide a factory function for setting ssh paths
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
git allows you to set which paths to use for the git server programs
when connecting over ssh; and we want to provide something similar.
We do this by providing a factory function which can be set as the
remote's transport callback which will set the given paths upon
creation.
|
|/
|
|
|
|
|
|
|
|
| |
We used to assume a refspec would only have an asterisk in the middle of
their respective pattern. This has not been a valid assumption for some
time now with git.
Instead of assuming where the asterisk is going to be, change the logic
to treat each pattern as having two halves with a replacement bit in the
middle, where the asterisk is.
|
|\
| |
| | |
Move yield to the tests and enable for FreeBSD
|
| |
| |
| |
| |
| |
| |
| | |
Move the definition of git_thread_yield() to the test which needs it and
add the correct definition for it for FreeBSD and derivatives.
Original patch adding FreeBSD and derivatives by @jacquesg.
|
|\ \
| | |
| | | |
netops: error out on url without a path
|
| |/
| |
| |
| |
| |
| | |
In order to connect to a remote server, we need to provide a path to the
repository we're interested in. Consider the lack of path in the url an
error.
|
|\ \
| | |
| | | |
Introduce `cl_assert_equal_oid`
|
| | |
| | |
| | |
| | |
| | |
| | | |
The revwalk::simplify test was not actually tested the values from
the revwalk against the expected. (Further, the expected had two
IDs transposed.)
|
| | | |
|
|\ \ \
| | | |
| | | | |
git_checkout_index: checkout other indexes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
git_checkout_index can now check out other git_index's (that are not
necessarily the repository index). This allows checkout_index to use
the repository's index for stat cache information instead of the index
data being checked out. git_merge and friends now check out their
indexes directly instead of trying to blend it into the running index.
|
|\ \ \ \
| |/ / /
|/| | | |
Provide a callback to customize the repository on clone
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As git_clone now has callbacks to configure the details of the
repository and remote, remove the lower-level functions from the public
API, as they lack some of the logic from git_clone proper.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To make sure that items returned from pool allocations are aligned
on nice boundaries, this rounds up all pool allocation sizes to a
multiple of 8. This adds a small amount of overhead to each item.
The rounding up could be made optional with an extra parameter to
the pool initialization that turned on rounding only for pools
where item alignment actually matters, but I think for the extra
code and complexity that would be involved, that it makes sense
just to burn a little bit of extra memory and enable this all the
time.
|
|\ \ \
| | | |
| | | | |
Improvements to git_transport extensibility
|
| | | |
| | | |
| | | |
| | | |
| | | | |
git_remote_set_transport now takes a transport factory rather than a transport
git_clone_options now allows the caller to specify a remote creation callback
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
The checkout::conflict type conflict tests were failing because
they were overly assertive about the resultant mode, testing
group & other bits, which failed miserably for people who had a
umask less restrictive than 022. Only test the resultant owner bits.
|
|/ /
| |
| |
| |
| |
| |
| | |
Git for Windows 1.9.4 changed the behavior when the text=auto
attribute is specified and core.autocrlf=false. Previous observed
behavior would *not* filter files when going into the working
directory, the new behavior *does* filter. Update our behavior to match.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When checking out files, we're performing conversion into the user's
native line endings, but we only want to do it for files which have
consistent line endings. Refuse to perform the conversion for mixed-EOL
files.
The CRLF->LF filter is left as-is, as that conversion is considered to be
normalization by git and should force a conversion of the line endings.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Finding a filename in a vector means we need to resort it every time we
want to read from it, which includes every time we want to write to it
as well, as we want to find duplicate keys.
A hash-map fits what we want to do much more accurately, as we do not
care about sorting, but just the particular filename.
We still keep removed entries around, as the interface let you assume
they were going to be around until the treebuilder is cleared or freed,
but in this case that involves an append to a vector in the filter case,
which can now fail.
The only time we care about sorting is when we write out the tree, so
let's make that the only time we do any sorting.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Opening the same repository multiple times will currently open the same
file multiple times, as well as map the same region of the file multiple
times. This is not necessary, as the packfile data is immutable.
Instead of opening and closing packfiles directly, introduce an
indirection and allocate packfiles globally. This does mean locking on
each packfile open, but we already use this lock for the global mwindow
list so it doesn't introduce a new contention point.
|
| |
| |
| |
| |
| |
| |
| | |
The assembla failure we were seeing referred to a private repository,
which is not what is there at the moment.
This reverts 1fd21b0342f
|
|/
|
|
|
|
| |
Don't write in plaintext the password of an account which has full
control over the repository. Instead use an account with read-only
access.
|
|\
| |
| | |
More remote rename fixes
|
| |
| |
| |
| | |
This was a bad idea. Don't free except in the free function.
|
| | |
|
| |
| |
| |
| |
| |
| | |
There is no reason why we need to use a callback here. A string array
fits better with the usage, as this is not an event and we don't need
anything from the user.
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
When there is a reference in the target namespace, we should overwrite
it. Instead it gets a different name under the current code.
|
|\
| |
| | |
Concurrent ref iterator access
|
| |
| |
| |
| |
| | |
If we remove a reference while we're iterating through the packed refs,
the position in the iterator will be off.
|
|\ \
| | |
| | |
| | |
| | | |
arthurschreiber/arthur/set-error-when-no-remote-found
Remote: Set an error when a remote cannot be found.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Inside `git_remote_load`, the calls to `get_optional_config` use
`giterr_clear` to unset any errors that are set due to missing config
keys. If neither a fetch nor a push url config was found for a remote,
we should set an error again.
|
| |/
|/| |
|
|/ |
|
|
|
|
|
|
| |
This adds another assertion to ensure that the reference name inside
the git_reference struct returned by `git_branch_create` is returned as
precomposed if `core.precomposeunicode` is enabled.
|
|
|
|
|
| |
This tests that decomposed branch names are correctly precomposed when
passed to `git_branch_move` and `core.precomposeunicode` is enabled.
|
|\
| |
| | |
Local clone
|
| |
| |
| |
| |
| | |
Assert the exact amount of links we expect. While there, check that a
plain git_clone() automatically chooses to link.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If requested, git_clone_local_into() will try to link the object files
instead of copying them.
This only works on non-Windows (since it doesn't have this) when both
are on the same filesystem (which are unix semantics).
|
| |
| |
| |
| |
| | |
When passed the LINK_FILES flag, the recursive copy will hardlink files
instead of copying them.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
index: check for valid filemodes on add
|