Package Release Info

libgit2-0.24.0-4.1

Update Info: Base Release
Available in Package Hub : 12 SP1-SP5

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

libgit2-24
libgit2-devel

Change Logs

Version: 0.24.0-2.1
* Wed Mar 16 2016 dimstar@opensuse.org
- Update to version 0.24.0:
  + Custom filters can now be registered with wildcard attributes,
    for example filter=*. Consumers should examine the attributes
    parameter of the check function for details.
  + Symlinks are now followed when locking a file, which can be
    necessary when multiple worktrees share a base repository.
  + You can now set your own user-agent to be sent for HTTP
    requests by using the GIT_OPT_SET_USER_AGENT with
    git_libgit2_opts().
  + You can set custom HTTP header fields to be sent along with
    requests by passing them in the fetch and push options.
  + Tree objects are now assumed to be sorted. If a tree is not
    correctly formed, it will give bad results. This is the git
    approach and cuts a significant amount of time when reading the
    trees.
  + Filter registration is now protected against concurrent
    registration.
  + Filenames which are not valid on Windows in an index no longer
    cause to fail to parse it on that OS.
  + Rebases can now be performed purely in-memory, without touching
    the repository's workdir.
  + When adding objects to the index, or when creating new tree or
    commit objects, the inputs are validated to ensure that the
    dependent objects exist and are of the correct type. This
    object validation can be disabled with the
    GIT_OPT_ENABLE_STRICT_OBJECT_CREATION option.
  + The WinHTTP transport's handling of bad credentials now behaves
    like the others, asking for credentials again.
  + Various API changes (additions AND removals).
- Rename libgit2-23 subpackage to libgit2-24, following upstraems
  soname bump (also in baselibs.conf).
* Mon Nov 30 2015 astieger@suse.com
- libgit2 0.23.4:
  * various bug fixes and improvements
- drop upstreamed libgit2-fix-.pc-file.patch
* Wed Oct 07 2015 astieger@suse.com
- libgit2 0.23.3, containing critical fixes:
  * blame: guard xdiff calls for large files
  * diff: don't feed large files to xdiff
  * merge_file: treat large files as binary
  * xdiff: convert size variables to size_t
  * GITERR_CHECK_ALLOC_ADDn: multi-arg adders
* Thu Sep 10 2015 dimstar@opensuse.org
- Add libgit2-fix-.pc-file.patch: Fix paths written in libgit2.pc.
* Mon Sep 07 2015 astieger@suse.com
- libgit2 0.23.2:
  * documentation fixes
  * diff: don't error out on an invalid regex
  * http: propagate the credentials callback's error code
  * Fix bug in git_smart__push: push_transfer_progress cb is never called
  * remote: don't confuse tag auto-follow rules with refspec matching
  * curl: use the most secure auth method for the proxy
  * Forcing libssh2 lib location
  * fix duplicate basenames to support older VS
- includes changes from 0.23.1:
  * Stage an unregistered submodule in _add_bypath()
  * filebuf: remove lockfile upon rename errors
  * Increase required version of cmake to 2.8
  * Handle ssh:// and git:// urls containing a '~' character.
  * documentation updates
  * submodule URL handling fixes
  * index: allow add_bypath to update submodules
  * blob: fail to create a blob from a dir with EDIRECTORY
  * submodule: lookup the submodule by path if available
  * submdule: reproduce double-reporting of a submodule in foreach
- note cmake requirement and use cmake makros
- build with system libcurl
- build with system http-parser
* Tue Jul 28 2015 dimstar@opensuse.org
- Update to version 0.23.0:
  + Changes or improvements:
  - Patience and minimal diff drivers can now be used for merges.
  - Merges can now ignore whitespace changes.
  - Updated binary identification in CRLF filtering to avoid
    false positives in UTF-8 files.
  - Rename and copy detection is enabled for small files.
  - Checkout can now handle an initial checkout of a repository,
    making GIT_CHECKOUT_SAFE_CREATE unnecessary for users of
    clone.
  - The signature parameter in the ref-modifying functions has
    been removed. Use git_repository_set_ident() and
    git_repository_ident() to override the signature to be used.
  - The local transport now auto-scales the number of threads to
    use when creating the packfile instead of sticking to one.
  - Reference renaming now uses the right id for the old value.
  - The annotated version of branch creation, HEAD detaching and
    reset allow for specifying the expression from the user to be
    put into the reflog.
  - git_rebase_commit now returns GIT_EUNMERGED when you attempt
    to commit with unstaged changes.
  - On Mac OS X, we now use SecureTransport to provide the
    cryptographic support for HTTPS connections insead of
    OpenSSL.
  - Checkout can now accept an index for the baseline
    computations via the baseline_index member.
  - The configuration for fetching is no longer stored inside the
    git_remote struct but has been moved to a git_fetch_options.
    The remote functions now take these options or the callbacks
    instead of setting them beforehand.
  - git_submodule instances are no longer cached or shared across
    lookup. Each submodule represents the configuration at the
    time of loading.
  - The index now uses diffs for add_all() and update_all() which
    gives it a speed boost and closer semantics to git.
  - The ssh transport now reports the stderr output from the
    server as the error message, which allows you to get the
    "repository not found" messages.
  - git_index_conflict_add() will remove staged entries that
    exist for conflicted paths.
  - The flags for a git_diff_file will now have the
    GIT_DIFF_FLAG_EXISTS bit set when a file exists on that side
    of the diff. This is useful for understanding whether a side
    of the diff exists in the presence of a conflict.
  - The constructor for a write-stream into the odb now takes
    git_off_t instead of size_t for the size of the blob, which
    allows putting large files into the odb on 32-bit systems.
  - The remote's push and pull URLs now honor the
    url.$URL.insteadOf configuration. This allows modifying URL
    prefixes to a custom value via gitconfig.
  - git_diff_foreach, git_diff_blobs, git_diff_blob_to_buffer,
    and git_diff_buffers now accept a new binary callback of type
    git_diff_binary_cb that includes the binary diff information.
  - The race condition mitigations described in racy-git.txt have
    been implemented.
  - If libcurl is installed, we will use it to connect to HTTP(S)
    servers.
  + Various API changes (incl. breaking changes).
- Rename libgit2-22 subpackage to libgit2-23, following upstreams
  soname bump (also in baselibs.conf).
* Tue Jan 27 2015 dimstar@opensuse.org
- Update to version 0.22.1:
  + The following (critical) fixes have been backported to this
    maintenance release:
  - checkout: introduce git_checkout_perfdata.
  - git_path_join_unrooted: return base len.
  - checkout: don't recreate previous directory.
  - checkout tests: nasty symlinks.
  - checkout: drop newline in error message.
  - checkout: remove files before writing new ones.
  - checkout tests: emulate p_realpath poorly on Win32.
  - checkout tests: cleanup realpath impl on Win32.
- Changes from version 0.22.0:
  + git_signature_new() now requires a non-empty email address.
  + Use CommonCrypto libraries for SHA-1 calculation on Mac OS X.
  + Disable SSL compression and SSLv2 and SSLv3 ciphers in favor of
    TLSv1 in OpenSSL.
  + The fetch behavior of remotes with autotag set to
    GIT_REMOTE_DOWNLOAD_TAGS_ALL has been changed to match git
    1.9.0 and later. In this mode, libgit2 now fetches all tags in
    addition to whatever else needs to be fetched.
  + git_checkout() now handles case-changing renames correctly on
    case-insensitive filesystems; for example renaming "readme" to
    "README".
  + The search for libssh2 is now done via pkg-config instead of a
    custom search of a few directories.
  + Add support for core.protectHFS and core.protectNTFS. Add more
    validation for filenames which we write such as references.
  + The local transport now generates textual progress output like
    git-upload-pack does ("counting objects").
  + git_checkout_index() can now check out an in-memory index that
    is not necessarily the repository's index, so you may check out
    an index that was produced by git_merge and friends while
    retaining the cached information.
  + Remove the default timeout for receiving / sending data over
    HTTP using the WinHTTP transport layer.
  + Add SPNEGO (Kerberos) authentication using GSSAPI on Unix
    systems.
  + Provide built-in objects for the empty blob (e69de29) and empty
    tree (4b825dc) objects.
  + The index' tree cache is now filled upon read-tree and
    write-tree and the cache is written to disk.
  + LF -> CRLF filter refuses to handle mixed-EOL files.
  + LF -> CRLF filter now runs when * text = auto (with Git for
    Windows 1.9.4).
  + 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).
  + The build system now accepts an option EMBED_SSH_PATH which
    when set tells it to include a copy of libssh2 at the given
    location. This is enabled for MSVC.
  + Add support for refspecs with the asterisk in the middle of a
    pattern.
  + Fetching now performs opportunistic updates. To achieve this,
    we introduce a difference between active and passive refspecs,
    which make git_remote_download() and git_remote_fetch() to take
    a list of resfpecs to be the active list, similarly to how git
    fetch accepts a list on the command-line.
  + The THREADSAFE option to build libgit2 with threading support
    has been flipped to be on by default.
  + The remote object has learnt to prune remote-tracking branches.
    If the remote is configured to do so, this will happen via
    git_remote_fetch(). You can also call git_remote_prune() after
    connecting or fetching to perform the prune.
- Rename libgit2-21 subpackage to libgit2-22, following upstreams
  soname bump (also in baselibs.conf).
* Thu Oct 16 2014 hrvoje.senjan@gmail.com
- Add baselibs.conf
* Thu Jul 10 2014 dimstar@opensuse.org
- Update to version 0.21.1:
  + Added a new config snapshotting API to fix race issues when
    different applications (e.g. Git and a libgit2 client) access
    the same repository simultaneously.
  + Added reflog support to all APIs that could alter a reference.
  + Avoided race conditions when updating references.
  + Converted all APIs that output string data to use git_buf
    objects for the return value.
  + Added standard git_<object>_init_options functions to
    initialize options structures when static initialization is not
    possible, and renamed options structures to standard
    git_<object>_options (replacing _opts suffix used in some
    places).
  + Improved use of const on pointers in many APIs (which may
    affect some bindings).
  + Replaced use of oid with simply id for references to
    git_oid value.s
  + Previously, when a callback function returned an error value
    (i.e. non-zero), libgit2 converted it to GIT_EUSER for the
    parent function's return value. Now, libgit2 tries to pass
    through the callback's return value all the way back to the
    caller.
  + All inline functions were eliminated from the public libgit2
    API.
  + Removed all Apache licensed code from library.
  + For more changes, please see detailed ChangeLog in package.
- Rename libgit2-0 subpackage to libgit2-21, following upstreams
  soname change (another project believing the soname should match
  the version).
- Enable SSH Support:
  + Add pkgconfig(libssh2) BuildRequires.
  + Pass -DUSE_SSH:BOOL=ON to cmake call in order to enable SSH
    support.
* Mon Jan 06 2014 dimstar@opensuse.org
- Build libgit2 threadsafe:
  + Pass -DTHREADSAFE:BOOL=ON to cmake call.
* Mon Nov 25 2013 dimstar@opensuse.org
- Update to version 0.20.0:
  + Blame APIs.
  + Filter APIs.
  + Public git_buffer APIs.
  + Merge conflict support in Checkout.
  + Simplified Clone options and git_clone_into.
  + Config iterator APIs and updated Config multivar API.
  + Diff API reorganization and renaming, with Patch API split off.
  + Indexer API renaming and improvements.
  + ODB backend API cleanup.
  + Improves progress callbacks for Packbuilder, Push, Fetch (and
    any other Remote operation).
  + Public Pathspec matching APIs.
  + Reflog API and RefDB Backend API cleanup.
  + Remote API extensions.
  + SSH Transport configuration cleanup.
  + Submodule status improvements.
  + Pluggable Transport APIs.
  + Lots of other small features (e.g. decomposed unicode support on
    MacOS, revwalk simplifying by first parent),
  + Bug fixes (e.g. junction support on Win32, redirect handling
    in HTTP transport) and performance improvements.
  + Lots of new examples (init, status, log, blame, etc.) and
    relicensing of example code under CC0 license.
* Mon Jul 08 2013 dimstar@opensuse.org
- Update to version 0.19.0:
  + New (threadsafe) cache for objects.
  + Iterator for Status.
  + New Merge APIs.
  + SSH support on *NIX.
  + Function context on diff.
  + Namespaces support.
  + Index add/update/remove with wildcard support.
  + Iterator for References.
  + Fetch and push refspecs for Remotes.
  + Rename support in Status.
  + New 'sys/` namespace for external headers with low-level APIs.
* Sun Jun 23 2013 dimstar@opensuse.org
- Update to version 0.18:
  + Almost one year worth of bug fixing... yet, upstream does not
    publish a statement / announcement of what is actually new...
* Fri Aug 31 2012 cgiboudeaux@gmx.com
- Update to 0.17
    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.
* Mon May 07 2012 idonmez@suse.com
- Fix license to be GPL-2.0-with-GCC-exception
* Mon Apr 16 2012 cgiboudeaux@gmx.com
- Update to 0.16.0
  - 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.
* Tue Jan 31 2012 jengelh@medozas.de
- Provide pkgconfig symbols
* Thu Oct 27 2011 saschpe@suse.de
- Change license to 'GPL-2.0 with linking', fixes bnc#726789
* Wed Oct 26 2011 saschpe@suse.de
- Update to version 0.15.0:
  * Upstream doesn't provide changes
- Removed outdated %clean section
* Tue Jan 18 2011 saschpe@gmx.de
- Proper Requires for devel package