| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Consistency is good.
|
| |
|
|
| |
binding perspective
|
| | |
|
| |
|
|
| |
These are deprecated and replaced with the diffing code in git2/diff.h
|
| |\
| |
| | |
Update git_status_file and add ranged iterators
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The goal of this work is to rewrite git_status_file to use the
same underlying code as git_status_foreach.
This is done in 3 phases:
1. Extend iterators to allow ranged iteration with start and
end prefixes for the range of file names to be covered.
2. Improve diff so that when there is a pathspec and there is
a common non-wildcard prefix of the pathspec, it will use
ranged iterators to minimize excess iteration.
3. Rewrite git_status_file to call git_status_foreach_ext
with a pathspec that covers just the one file being checked.
Since ranged iterators underlie the status & diff implementation,
this is actually fairly efficient. The workdir iterator does
end up loading the contents of all the directories down to the
single file, which should ideally be avoided, but it is pretty
good.
|
| |/ |
|
| |\
| |
| | |
Add git_note_foreach()
|
| | | |
|
| |/
|
|
| |
This reverts commit 1093e2de22f6ca245b09d758a3510899a8362048.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building a "shared object" (DLL) in Windows includes 2 steps:
- specify __declspec(dllexport)
when building the library itself. MSVC will disallow itself from
optimizing these symbols out and reference them in the PE's
Exports-Table.
Further, a static link library will be generated. This library
contains the symbols which are exported via the declsepc above.
The __declspec(dllexport) becomes part of the symbol-signature
(like parameter types in C++ are 'mangled' into the symbol name,
the export specifier is mingled with the name)
- specify __declspec(dllimport)
when using the library. This again mingles the declspec into the
name and declares the function / variable with external linkage.
cmake automatically adds -Dgit2_EXPORTS to the compiler arguments
when compiling the libgit2 project.
The 'git2' is the name specified via PROJECT() in CMakeLists.txt.
|
| |\
| |
| | |
Add git_blob_create_fromdisk()
|
| | |
| |
| |
| | |
This function will create blobs in the object database from files anywhere on the filesystem. This can be run against bare and non-bare repositories.
|
| |\ \
| | |
| | | |
Fix build/runtime issues on Solaris
|
| | |/ |
|
| |\ \
| | |
| | | |
Attribute cache buster
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the git attributes and git ignores cache check
stat information before using the file contents from the
cache. For cached files from the index, it checks the SHA
of the file instead. This should reduce the need to ever
call `git_attr_cache_flush()` in most situations.
This commit also fixes the `git_status_should_ignore` API
to use the libgit2 standard parameter ordering.
|
| |/ |
|
| |\
| |
| | |
Clean commit and tag messages
|
| | |
| |
| |
| |
| |
| | |
'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior.
Fix libgit2/libgit2sharp#117
|
| |\ \
| | |
| | | |
Enhancing the blob diffing experience
|
| | | | |
|
| | |/ |
|
| | |
| |
| |
| |
| | |
Add a fetch refspec arguemnt and make the arguments (name, url,
refspec), as that order makes more sense.
|
| |/
|
|
| |
Helper function to create a remote with the default settings
|
| |\
| |
| | |
Support git attrs from index (and bare repo)
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Depending on the operation, we need to consider gitattributes
in both the work dir and the index. This adds a parameter to
all of the gitattributes related functions that allows user
control of attribute reading behavior (i.e. prefer workdir,
prefer index, only use index).
This fix also covers allowing us to check attributes (and
hence do diff and status) on bare repositories.
This was a somewhat larger change that I hoped because it had
to change the cache key used for gitattributes files.
|
| |/
|
|
|
| |
Add git_note_default_ref to allow easy retrieval of the currently set
default notes reference.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.travis.yml
include/git2/diff.h
src/config_file.c
src/diff.c
src/diff_output.c
src/mwindow.c
src/path.c
tests-clar/clar_helpers.c
tests-clar/object/tree/frompath.c
tests/t00-core.c
tests/t03-objwrite.c
tests/t08-tag.c
tests/t10-refs.c
tests/t12-repo.c
tests/t18-status.c
tests/test_helpers.c
tests/test_main.c
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This should restore the ability to include libgit2 headers
in C++ projects.
Cherry picked 2de60205dfea2c4a422b2108a5e8605f97c2e895 from
development into new-error-handling.
|
| | |\
| | |
| | |
| | |
| | | |
Conflicts:
src/refspec.c
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
|
| | |/ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This allows the caller to update an internal structure or update the
user output with the tips that were updated.
While in the area, only try to update the ref if the value is
different from its old one.
|
| | |
| |
| |
| |
| |
| | |
Trying to send every single line immediately won't give us any speed
improvement and duplicates the code we need for other transports. Make
the git transport use the same buffer functions as HTTP.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This changes the git_remote_download() API, but the existing one is
silly, so you don't get to complain.
The new API allows to know how much data has been downloaded, how many
objects we expect in total and how many we've processed.
|
| | |\
| | |
| | | |
Code clean up, including fixing warnings on Windows 64-bit build
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds a new public reference function `git_reference_lookup_oid`
that directly resolved a reference name to an OID without returning
the intermediate `git_reference` object (hence, no free needed).
Internally, this adds a `git_reference_lookup_resolved` function
that combines looking up and resolving a reference. This allows
us to be more efficient with memory reallocation.
The existing `git_reference_lookup` and `git_reference_resolve`
are reimplmented on top of the new utility and a few places in the
code are changed to use one of the two new functions.
|
| | |\ \
| | |/
| |/| |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Resolve any lingering deltas, write out the index file and rename the
packfile.
|