| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This lets us work without worrying about what's happening but work on a
snapshot.
|
|
|
|
|
|
| |
When removing the remote-tracking branches, build up the list and remove
in two steps, working around an issue with the iterator. Removing while
we're iterating over the refs can cause us to miss references.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes two issues I found when core.precomposeunicode is enabled:
* When creating a reference with a NFD string, the returned
git_reference would return this NFD string as the reference’s
name. But when looking up the reference later, the name would
then be returned as NFC string.
* Renaming a reference would not honor the core.precomposeunicode and
apply no normalization to the new reference name.
|
|
|
|
|
| |
The error would be uninitialized if we take a snapshot of a config with
no backends.
|
|\
| |
| | |
Local clone
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
A call like git_clone("./foo", "./foo1") writes origin's url as './foo',
which makes it unusable, as they're relative to different things.
Go with git's behaviour and store the realpath as the url.
|
| |
| |
| |
| |
| |
| |
| |
| | |
When git is given such a path, it will perform a "local clone",
bypassing the git-aware protocol and simply copying over all objects
that exist in the source.
Copy this behaviour when given a local path.
|
|\ \
| | |
| | | |
index: check for valid filemodes on add
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fixed permissions on template directories.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | |
| | | |
git_merge_analysis will now return GIT_MERGE_CONFIG_NO_FASTFORWARD
when merge.ff=false and GIT_MERGE_CONFIG_FASTFORWARD_ONLY when
merge.ff=true
|
| |/
|/|
| |
| |
| | |
We go through the different backends in order, so it's not an error if
at least one of the backends has the data we want.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We have too many places where we repeat free code, so when adding the
new free to the generic code, it didn't take for the local transport.
While there, fix a C99-ism that sneaked through.
|
|\ \
| | |
| | | |
Add support for the symref extension
|
| | |
| | |
| | |
| | |
| | | |
Since we no longer need to push data to callbacks, there's no need for
this truct.
|
| | |
| | |
| | |
| | |
| | | |
Let's use the remote's default branch guessing instead of reinventing
one ourselves with callbacks.
|
| | |
| | |
| | |
| | |
| | | |
If the remote supports the symref protocol extension, then we return
that, otherwise we guess with git's rules.
|
| | |
| | |
| | |
| | |
| | | |
When using the local transport, we always have the symbolic information
available, so fill it.
|
| | |
| | |
| | |
| | |
| | | |
Add a symref_target field to git_remote_head to expose the symref
mappings to the user.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The protocol has a capability which allows the server to tell us which
refs are symrefs, so we can e.g. know which is the default branch.
This capability is different from the ones we already support, as it's
not setting a flag to true, but requires us to store a list of
refspec-formatted mappings.
This commit does not yet expose the information in the reference
listing.
|
|\ \ \
| | | |
| | | | |
Make core.safecrlf not generate an error on LF-ending platforms
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If you enabled core.safecrlf on an LF-ending platform, we would
error even for files with all LFs. We should only be warning on
irreversible mappings, I think.
|
|\ \ \ \
| |_|/ /
|/| | | |
smart: send a flush when we disconnect
|
| |/ /
| | |
| | |
| | |
| | | |
The git server wants to hear a flush from us when we disconnect,
particularly when we want to perform a fetch but are up to date.
|
|/ /
| |
| |
| |
| | |
A recently added check might skip initialization of old_fetchhead and go
directly to cleanup. So, destruct in the opposite order of construction.
|
|\ \
| | |
| | | |
Restore attributions for fnmatch
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Allow mirror-clone via `git_clone_into()`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We set up the current branch after we fetch from the remote. This means
that the user's refspec may have already created this reference. It is
therefore not an error if we cannot create the branch because it already
exists.
This allows for the user to replicate git-clone's --mirror option.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of changing the user-provided remote, duplicate it so we can add
the extra refspec without having to worry about unsetting it before
returning.
|
|\ \ \
| | | |
| | | | |
message: don't assume the comment char
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The comment char is configurable and we need to provide a way for the
user to specify which comment char they chose for their message.
|
|\ \ \ \
| | | | |
| | | | | |
WIP: Windows fixes
|
| | | | | |
|