- 15 May, 2012 2 commits
-
-
Russell Belfer committed
-
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.
Russell Belfer committed
-
- 14 May, 2012 17 commits
-
-
Fix compilation warnings
Vicent Martí committed -
nulltoken committed
-
Add git_note_foreach()
Vicent Martí committed -
This reverts commit 1093e2de.
Vicent Martí committed -
nulltoken committed
-
branch: cover with test that moving a non existing branch returns ENOTFOUND
Vicent Martí committed -
branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Vicent Martí committed -
See issue https://github.com/libgit2/libgit2/issues/680
Vicent Martí committed -
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.
Sascha Cunz committed -
Add git_blob_create_fromdisk()
Vicent Martí committed -
Fix build/runtime issues on Solaris
Vicent Martí committed -
Attribute cache buster
Vicent Martí committed -
Sascha Cunz committed
-
Use -fvisibility=hidden in GCC builds
Vicent Martí committed -
mergebase: enhance test code coverage
Vicent Martí committed -
iterator: prevent git_iterator_free() from segfaulting when being passed a NULL iterator
Russell Belfer committed -
Since we now rely on it (at least under Solaris), I figured we probably want to make sure it's accurate. The new test makes sure that creating a file with a name of length FILENAME_MAX+1 fails.
Scott J. Goldman committed
-
- 13 May, 2012 6 commits
- 12 May, 2012 5 commits
-
-
Han-Wen Nienhuys committed
-
On Solaris, struct dirent is defined differently than Linux. The field containing the path name is of size 0, rather than NAME_MAX. So, we need to use a properly sized buffer on Solaris to avoid a stack overflow. Also fix some DIR* leaks on cleanup.
Scott J. Goldman committed -
Sascha Cunz committed
-
Improve repo initialization to be more like git
Vicent Martí committed -
object: make git_object_lookup() return GIT_ENOTFOUND - The sequel
Vicent Martí committed
-
- 11 May, 2012 5 commits
-
-
object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type This fix complements cb0ce16b and cover the following additional use cases - retrieving an object which has been previously searched, found and cached - retrieving an object through an non ambiguous abbreviated id
nulltoken committed -
Carlos Martín Nieto committed
-
Russell Belfer committed
-
Scott J. Goldman committed
-
On Solaris, rmdir() throws EEXIST if the folder is not empty, so just add one more case to check for that, alongside ENOTEMPTY.
Scott J. Goldman committed
-
- 10 May, 2012 4 commits
-
-
Russell Belfer committed
-
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.
Russell Belfer committed -
Since Solaris does not support some of the same flags as glibc fnmatch(), we just use the implementation we have for Windows. Now that it's no longer a windows-specific thing, I moved it into compat/ instead of win32/
Scott J. Goldman committed -
Use giterr_last() and make sure it's not NULL.
Carlos Martín Nieto committed
-
- 09 May, 2012 1 commit
-
-
Vicent Martí committed
-