The assertion in line 360 was there to check that only loose refs were
being written as loose, but there are times when we need to re-write a
packed reference as loose.
Core Git doesn't care when people use spaces in the email address, even
though this kind of foolery receives the capital punishment in several
states of the USA.
We must obey.
A bunch of redundant methods have been removed from the external API.
- All the reference/tag creation methods with `_f` are gone. The force
flag is now passed as an argument to the normal create methods.
- All the different commit creation methods are gone; commit creation
now always requires a `git_commit` pointer for parents and a `git_tree`
pointer for tree, to ensure that corrupted commits cannot be generated.
- All the different tag creation methods are gone; tag creation now
always requires a `git_object` pointer to ensure that tags are not
created to inexisting objects.
Remove call of gitfo_size, since we call gitfo_lstat anyway; remove some
old workaround code for gitfo_read, which is obsolete now.
Signed-off-by: schu <schu-github@schulog.org>
Call gitfo_lstat with the full pathname instead of the relative one,
which fails in case the current working directory is different from
the workdir.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Also allow space for the null-terminator when allocating the buffer in
packfile_unpack_compressed. Up to now, the last newline had served as
a terminator, but 858ef372 searches for a double-newline and exposes
the problem.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
On this rascalicious minor release of libgit2:
- We've dropped support for Waf. All the build process is now managed
through CMake for all platforms.
- We've removed the custom backends from the repository. You can now
find a collection of Custom backends on their own repo, under the
libgit2 org. Including MySQL and Memcache backends, courtesy of the
beardful Brian Lopez.
- We are rocking a new documentation system, Docurium, courtesy of the
insightful Scott Chacon. Check out the details for each single method
in our external API and the way they've evolved through the history
of the library:
http://libgit2.github.com/libgit2/
This will certainly come in handy if you are developing bindings for
the library.
- You can now check the linked version of the library from your
application or bindings, using `git_libgit2_version`.
- We have a gazillion new features, courtesy of our invaluable
collaborators, including:
* Support for Config files!
* Support for prefix-only reads on the ODB
* Repository discovery
* Support for the Unmerged Entries index extension
* Better Windows support
* 30.000 bug fixes (actual number may be lower)
Thanks as always to everyone who makes this project possible.
Here's the full list of all external API changes:
- git_index_open_bare
- git_index_open_inrepo
- git_odb_backend_sqlite
- git_oid_mkraw
- git_oid_mkstr
- git_reference_listcb
- git_repository_workdir
= git_index_get
= git_repository_path
= git_tree_entry_byindex
+ git_blob_lookup_prefix
+ git_commit_lookup_prefix
+ git_config_add_file
+ git_config_add_file_ondisk
+ git_config_file__ondisk
+ git_config_find_global
+ git_config_foreach
+ git_config_free
+ git_config_get_bool
+ git_config_get_int
+ git_config_get_long
+ git_config_get_string
+ git_config_new
+ git_config_open_global
+ git_config_open_ondisk
+ git_config_set_bool
+ git_config_set_int
+ git_config_set_long
+ git_config_set_string
+ git_index_entry_stage
+ git_index_entrycount_unmerged
+ git_index_get_unmerged_byindex
+ git_index_get_unmerged_bypath
+ git_index_open
+ git_object_lookup_prefix
+ git_odb_read_prefix
+ git_oid_fromraw
+ git_oid_fromstr
+ git_oid_ncmp
+ git_reference_foreach
+ git_repository_config
+ git_repository_discover
+ git_repository_is_bare
+ git_tag_lookup_prefix
+ git_tree_entry_type
+ git_tree_lookup_prefix