# General

Top level constants and exceptions from the library.

## Version

The following constants provide information about the version of the libgit2 library that has been built against. The version number has a `MAJOR.MINOR.REVISION` format.

LIBGIT2_VER_MAJOR

  Integer value of the major version number. For example, for the version `0.26.0`:

      >>> print(pygit2.LIBGIT2_VER_MAJOR)
      0

LIBGIT2_VER_MINOR

  Integer value of the minor version number. For example, for the version `0.26.0`:

      >>> print(pygit2.LIBGIT2_VER_MINOR)
      26

LIBGIT2_VER_REVISION

  Integer value of the revision version number. For example, for the version `0.26.0`:

      >>> print(pygit2.LIBGIT2_VER_REVISION)
      0

LIBGIT2_VER

  Tuple value of the revision version numbers. For example, for the version `0.26.0`:

      >>> print(pygit2.LIBGIT2_VER)
      (0, 26, 0)

LIBGIT2_VERSION

  The libgit2 version number as a string:

      >>> print(pygit2.LIBGIT2_VERSION)
      '0.26.0'

## Options

pygit2.option(option, ...)

  Get or set a libgit2 option.

  Parameters:

  GIT_OPT_GET_SEARCH_PATH, level

    Get the config search path for the given level.

  GIT_OPT_SET_SEARCH_PATH, level, path

    Set the config search path for the given level.

  GIT_OPT_GET_MWINDOW_SIZE

    Get the maximum mmap window size.

  GIT_OPT_SET_MWINDOW_SIZE, size

    Set the maximum mmap window size.

  GIT_OPT_GET_MWINDOW_FILE_LIMIT

    Get the maximum number of files that will be mapped at any time by the library.

  GIT_OPT_SET_MWINDOW_FILE_LIMIT, size

    Set the maximum number of files that can be mapped at any time by the library. The default (0) is unlimited.

  GIT_OPT_GET_OWNER_VALIDATION

    Gets the owner validation setting for repository directories.

  GIT_OPT_SET_OWNER_VALIDATION, enabled

    Set that repository directories should be owned by the current user. The default is to validate ownership.

## Exceptions

exception pygit2.GitError

  Bases: `Exception`

exception pygit2.AlreadyExistsError

  Bases: `ValueError`

Exception when trying to create an object (reference, etc) that already exists.

exception pygit2.InvalidSpecError

  Bases: `ValueError`

Exception when an input specification such as a reference name is invalid.