1. 07 Mar, 2013 1 commit
  2. 01 Feb, 2013 1 commit
  3. 08 Jan, 2013 1 commit
  4. 18 May, 2012 1 commit
    • libgit2 v0.17.0 "Lord of Diffstruction" · ad5df35a
      Welcome to yet another libgit2 release, this one being the
      biggest we've shipped so far. Highlights on this release
      include diff, branches, notes and submodules support. The new
      diff API is shiny and powerful. Check it out.
      
      Apologies, one more time, to all the early adopters for the
      breaking API changes. We've been iterating on the error
      handling for the library until we reached its current state,
      which we believe it's significantly more usable both for normal
      users and for developers of bindings to other languages.
      Also, we've renamed a few legacy calls to ensure that the whole
      external API uses a consistent naming scheme.
      
      As always, check the API docs for the full list of new API calls
      and backwards-incompatible changes.
      
      	http://libgit2.github.com/libgit2/
      
      Changelog of new features follows:
      
      Attributes:
      	- Added function macros to check attribute values instead of having
      	to manually compare them
      	- Added support for choosing the attribute loading order (workdir files
      	vs index) and to skip the systems' default `.gitattributes`
      	- Fixed issues when fetching attribute data on bare repositories
      
      Blob:
      	- Added support for creating blobs from any file on disk (not
      	restricted to the repository's working directory)
      	- Aded support for smudge filters when writing blobs to the ODB
      		- So far only CRLF normalization is available
      
      Branches:
      	- Added a high-level branch API:
      		- git_branch_create
      		- git_branch_delete
      		- git_branch_list
      		- git_branch_move
      
      Commit:
      	- Commit messages are now filtered to match Git rules (stripping
      	comments and adding proper whitespacing rules)
      
      Config:
      	- Added support for setting and getting multivars
      	- Added `git_config_get_mapped` to map the value of a config
      	variable based on its defaults
      
      Diff:
      	- Added full diff API:
      		- tree to tree
      		- index to tree
      		- workdir to index
      		- workdir to tree
      		- blob to blob
      
      	- Added helper functions to print the diffs as valid patchfiles
      
      Error handling:
      	- New design for the error handling API, taking into consideration
      	the requirements of dynamic languages
      
      Indexer:
      	- Added streaming packfile indexer
      
      Merge:
      	- Added support for finding the merge base between two commits
      
      Notes:
      	- Full git-notes support:
      		- git_note_read
      		- git_note_message/git_note_oid
      		- git_note_create
      		- git_note_remove
      		- git_note_free
      		- git_note_foreach
      
      References:
      	- Added `git_reference_name_to_oid` helper to resolve
      	a reference to its final OID
      
      	- Added `git_reference_cmp` to compare two references with
      	a stable order
      
      Remotes:
      	- Added support for writing and saving remotes
      		- `git_remote_add`
      		- `git_remote_save`
      		- Setters for all the attributes of a remote
      	- Switched remote download to the new streaming packfile indexer
      	- Fixed fetch on HTTP and Git under Windows
      	- Added `git_remote_supported_url` helper to check if a protocol
      	can be accessed by the library
      	- Added `git_remote_list`
      
      Repository:
      	- Made `git_repository_open` smarter when finding the `.git` folder.
      	- Added `git_repository_open_ext` with extra options when
      	opening a repository
      
      Revwalk:
      	- Added support for pushing/hiding several references through a glob
      	- Added helper to push/hide the current HEAD to the walker
      	- Added helper to push/hide a single reference to the walker
      
      Status:
      	- Greatly improved Status implementation using the new `diff` code
      	as a backend
      
      Submodules:
      	- Added a partial submodules API to get information about a
      	submodule and list all the submodules in a repository
      		- git_submodule_foreach
      		- git_submodule_lookup
      
      Tag:
      	- Added `git_tag_peel` helper to peel a tag to its pointed object
      	- Tag messages are now filtered to match Git rules (stripping comments
      	and adding proper whitespacing rules)
      
      Tree:
      	- Killed the old `git_tree_diff` API, which is replaced by the
      	new diff code.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  5. 13 Feb, 2012 1 commit
  6. 05 Feb, 2012 1 commit
    • libgit2 v0.16.0 "Dutch Fries" · 242a1cea
      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
  7. 09 Oct, 2011 1 commit
  8. 18 Sep, 2011 1 commit
    • Cleanup legal data · bb742ede
      1. The license header is technically not valid if it doesn't have a
      copyright signature.
      
      2. The COPYING file has been updated with the different licenses used in
      the project.
      
      3. The full GPLv2 header in each file annoys me.
      Vicent Marti committed
  9. 18 Aug, 2011 2 commits