-
File unlocks are atomic again via rename. Read-only files on Windows are made read-write if necessary.
-
Share open packfiles across repositories to share descriptors and mmaps.
-
Use a map for the treebuilder, making insertion O(1)
-
LF -> CRLF filter refuses to handle mixed-EOL files
-
LF -> CRLF filter now runs when * text = auto (with Git for Windows 1.9.4)
-
The git_remote_set_transport function now sets a transport factory function, rather than a pre-existing transport instance.
-
A factory function for ssh has been added which allows to change the path of the programs to execute for receive-pack and upload-pack on the server, git_transport_ssh_with_paths.
-
The git_clone_options struct no longer provides the ignore_cert_errors or remote_name members for remote customization.
Instead, the git_clone_options struct has two new members, remote_cb and remote_cb_payload, which allow the caller to completely override the remote creation process. If needed, the caller can use this callback to give their remote a name other than the default (origin) or disable cert checking.
The remote_callbacks member has been preserved for convenience, although it is not used when a remote creation callback is supplied.
-
The git_clone_options struct now provides repository_cb and repository_cb_payload to allow the user to create a repository with custom options.
-
git_clone_into and git_clone_local_into have been removed from the public API in favour of git_clone callbacks
-
Add support for refspecs with the asterisk in the middle of a pattern.