| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \
| |/ /
|/| | |
[WIP] Smarter pack-building
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Most use-cases for the object packer communicate in terms of commits
which each side has. We already have an object to specify this
relationship between commits, namely git_revwalk.
By knowing which commits we want to pack and which the other side
already has, we can perform similar optimisations to git, by marking
each tree as interesting or uninteresting only once, and not sending
those trees which we know the other side has.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
git_index_add_frombuffer enables now to store a memory buffer in the odb
and to store an entry in the index directly if the index is attached to a
repository.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the get_entry() method to return a refcounted version of
the config entry, which you have to free when you're done.
This allows us to avoid freeing the memory in which the entry is stored
on a refresh, which may happen at any time for a live config.
For this reason, get_string() has been forbidden on live configs and a
new function get_string_buf() has been added, which stores the string in
a git_buf which the user then owns.
The functions which parse the string value takea advantage of the
borrowing to parse safely and then release the entry.
|
| |
| |
| |
| |
| |
| | |
We want to use the "checkout: moving from ..." message in order to let
git know when a change of branch has happened. Make the convenience
functions for this goal write this message.
|
| |
| |
| |
| | |
We always use "update by push".
|
| |
| |
| |
| |
| |
| |
| | |
This namespace is about behaving like git's branch command, so let's do
exactly that instead of taking a reflog message.
This override is still available via the reference namespace.
|
| |
| |
| |
| |
| | |
This function is meant to simulate what git does in the reset command,
so we should include the reflog message in that.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The signature for the reflog is not something which changes
dynamically. Almost all uses will be NULL, since we want for the
repository's default identity to be used, making it noise.
In order to allow for changing the identity, we instead provide
git_repository_set_ident() and git_repository_ident() which allow a user
to override the choice of signature.
|
|\ \
| | |
| | | |
Allow checkout to handle newly cloned repositories, remove `GIT_CHECKOUT_SAFE_CREATE`
|
| |/ |
|
|/
|
|
|
|
|
|
|
| |
Win32 DLLs have four fields for the version number (major, minor,
teeny, patch). If a consumer wants to build a custom DLL, it may
be useful to set the patchlevel version number in the DLL.
This value only affects the DLL version number, it does not affect
the resultant "version number", which remains major.minor.teeny.
|
|
|
|
|
| |
For consistency with the rest of the library, where an opt is an
options *structure*.
|
| |
|
|
|
|
|
|
|
| |
Add structures and preliminary functions to take a buffer, file or
blob and write the contents in chunks through an arbitrary number
of chained filters, finally writing into a user-provided function
accept the contents.
|
|\
| |
| | |
merge: lock index during the merge (not just checkout)
|
| | |
|
|/
|
|
|
| |
Don't require the branch to rebase, if given `NULL`, simply look up
`HEAD`.
|
|\
| |
| | |
Fix doc comment formatting
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
config: add parsing and getter for paths
|
| | |
|
|\ \
| | |
| | | |
Fixed typo in git_repository_reinit_filesystem() documentation
|
| | | |
|
|/ /
| |
| |
| |
| | |
It was missing "common.h" and "types.h" like other system headers.
This generated compilation errors if including it directly.
|
| |
| |
| |
| |
| |
| |
| | |
On case insensitive filesystems, we may have files in the working
directory that case fold to a name we want to write. Remove those
files (by default) so that we will not end up with a filename that
has the unexpected case.
|
| |
| |
| |
| |
| |
| | |
Walk up the tree to mkdir, which is less immediately efficient,
but allows us to look at intermediate directories that may need
attention.
|
|/
|
|
|
| |
Checkout can now provide performance data about the number of (some)
syscalls performed using an optional callback.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| | |
| | | |
Better document `git_merge_commits`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`git_merge_commits` (and thus `git_merge`) do not use the same
strategy as `git-merge-recursive` wherein they can produce an
artificial common ancestor that is the merge of all common
ancestors. Document this accordingly.
|
| | |
| | |
| | |
| | | |
Bump the version number to 0.22.0 and the SOVERSION to 22.
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| | | |
| | | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
|/|
| |
| |
| |
| | |
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.
|