- 07 Feb, 2012 1 commit
-
-
Ignacio Casal Quinteiro committed
-
- 05 Feb, 2012 3 commits
-
-
This lovely and much delayed release of libgit2 ships from the cold city of Brussels, which is currently hosting FOSDEM 2012. There's been plenty of changes since the latest stable release, here's a full summary: - Git Attributes support (see git2/attr.h) There is now support to efficiently parse and retrieve information from `.gitattribute` files in a repository. Note that this information is not yet used e.g. when checking out files. - .gitignore support Likewise, all the operations that are affected by `.gitignore` files now take into account the global, user and local ignores when skipping the relevant files. - Cleanup of the object ownership semantics The ownership semantics for all repository subparts (index, odb, config files, etc) has been redesigned. All these objects are now reference counted, and can be hot-swapped in the middle of execution, allowing for instance to add a working directory and an index to a repository that was previously opened as bare, or to change the source of the ODB objects after initialization. Consequently, the repository API has been simplified to remove all the `_openX` calls that allowed setting these subparts *before* initialization. - git_index_read_tree() Git trees can now be read into the index. - More reflog functionality The reference log has been optimized, and new API calls to rename and delete the logs for a reference have been added. - Rewrite of the References code with explicit ownership semantics The references code has been mostly rewritten to take into account the cases where another Git application was modifying a repository's references while the Library was running. References are now explicitly loaded and free'd by the user, and they may be reloaded in the middle of execution if the user suspects that their values may have changed on disk. Despite the new ownership semantics, the references API stays the same. - Simplified the Remotes API Some of the more complex Remote calls have been refactored into higher level ones, to facilitate the usual `fetch` workflow of a repository. - Greatly improved thread-safety The library no longer has race conditions when loading objects from the same ODB and different threads at the same time. There's now full TLS support, even for error codes. When the library is built with `THREADSAFE=1`, the threading support must be globally initialized before it can be used (see `git_threads_init()`) - Tree walking API A new API can recursively traverse trees and subtrees issuing callbacks for every single entry. - Tree diff API There is basic support for diff'ing an index against two trees. - Improved windows support The Library is now codepage aware under Windows32: new API calls allow the user to set the default codepage for the OS in order to avoid strange Unicode errors.
Vicent Martí committed -
treebuilder: remove needless variable entry_count
Vicent Martí committed -
Signed-off-by: schu <schu-github@schulog.org>
schu committed
-
- 04 Feb, 2012 1 commit
-
-
Fix trailing slash issue to the gitdir path when the repo is opened through a workdir
Vicent Martí committed
-
- 03 Feb, 2012 1 commit
-
-
repository: ensure that the path to the .git directory ends with a forward slash when opening a repository through a working directory path This fixes an issue which was detected while using one of the libgit2 bindings [0]. The lack of the trailing forward slash led the name of references returned by git_reference_listall() to be prefixed with a forward slash. [0]: https://github.com/libgit2/libgit2sharp/pull/108
nulltoken committed
-
- 02 Feb, 2012 2 commits
-
-
Fix the build on Emscripten
Vicent Martí committed -
struct timeval is used in this file, which requires <sys/time.h> to be included.
Ehsan Akhgari committed
-
- 01 Feb, 2012 6 commits
-
-
On non-Windows builds, we will now use _GNU_SOURCE so header files will include modern API extensions. This should resolve issue #547.
Russell Belfer committed -
Add unit tests to confirm ignore directory pattern matches and to confirm that ignore and attribute files are loaded properly into the attribute file cache.
Russell Belfer committed -
Actually look for the file by the same cache key that we store it under. Rocket science!
Russell Belfer committed -
Vicent Martí committed
-
Vicent Martí committed
-
Carlos Martín Nieto committed
-
- 31 Jan, 2012 5 commits
-
-
threads: Make the old test suite TLS aware...
Vicent Martí committed -
Now that is_dir is calculated correctly for attr/ignore paths, it is possible to use it so that ignoring "dir/" will properly match the directory name and ignore the entire directory.
Russell Belfer committed -
When building an attr path object, the code that checks if the file is a directory was evaluating the file as a relative path to the current working directory, instead of using the repo root. This lead to inconsistent behavior.
Russell Belfer committed -
When status encounters a submodule, right now it is asserting. This changes it to just skip the file that it can't deal with.
Russell Belfer committed -
git_refspec_transform_r assumed that the reference name passed would be only a branch or tag name. This is not the case, and we need to take into consideration what's in the refspec's source to know how much of the prefix to ignore.
Carlos Martín Nieto committed
-
- 29 Jan, 2012 1 commit
-
-
nulltoken committed
-
- 28 Jan, 2012 2 commits
-
-
Those were re-added on the move. Ops!
Vicent Martí committed -
The object cache is mostly IO-bound, so it makes no sense to have a lock per node.
Vicent Martí committed
-
- 27 Jan, 2012 2 commits
-
-
Vicent Martí committed
-
This is a MSVC-only issue. All other compilers we support work properly.
Vicent Martí committed
-
- 26 Jan, 2012 1 commit
-
-
Repository re-initialization
Vicent Martí committed
-
- 25 Jan, 2012 5 commits
-
-
This currently only ensures that the version of the repository format isn't greater than zero.
nulltoken committed -
A non migrated yet test has been removed as well as it's mostly redundant.
nulltoken committed -
Rename the Clay test suite to Clar
Vicent Martí committed -
Vicent Martí committed
-
Clay is the name of a programming language on the makings, and we want to avoid confusions. Sorry for the huge diff!
Vicent Martí committed
-
- 23 Jan, 2012 2 commits
-
-
This had been left over from a time when I believed what the git documentation had to say about case-sensitivity. The rest of the code doesn't recognize this form and we hadn't noticed because most tests don't try to get a recently-set variable but free and reload the configuration, causing the right format to be used.
Carlos Martín Nieto committed -
remote: add test which creates a basic remote entry in the repository configuration then loads the remote
nulltoken committed
-
- 20 Jan, 2012 1 commit
-
-
This resolves issue #535 and issue #533.
Russell Belfer committed
-
- 19 Jan, 2012 7 commits
-
-
The buffer wasn't getting freed if the last difference was a deletion.
Carlos Martín Nieto committed -
MSVC doesn't think %zd is a valid specifier.
Carlos Martín Nieto committed -
Don't leak when deleting or removing refs
Vicent Martí committed -
When we remove the ref from the hashtable, we need to free the packref.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Truncate at the slash; otherwise we get ppack-*.idx filenames.
Carlos Martín Nieto committed -
On error, the pointer could be pointing anywhere.
Carlos Martín Nieto committed
-