• Show log

    Commit

  • Hash : 0dd98b69
    Author : Josh Triplett
    Date : 2016-04-03T17:22:07

    Add GIT_REPOSITORY_OPEN_FROM_ENV flag to respect $GIT_* environment vars
    
    git_repository_open_ext provides parameters for the start path, whether
    to search across filesystems, and what ceiling directories to stop at.
    git commands have standard environment variables and defaults for each
    of those, as well as various other parameters of the repository. To
    avoid duplicate environment variable handling in users of libgit2, add a
    GIT_REPOSITORY_OPEN_FROM_ENV flag, which makes git_repository_open_ext
    automatically handle the appropriate environment variables. Commands
    that intend to act just like those built into git itself can use this
    flag to get the expected default behavior.
    
    git_repository_open_ext with the GIT_REPOSITORY_OPEN_FROM_ENV flag
    respects $GIT_DIR, $GIT_DISCOVERY_ACROSS_FILESYSTEM,
    $GIT_CEILING_DIRECTORIES, $GIT_INDEX_FILE, $GIT_NAMESPACE,
    $GIT_OBJECT_DIRECTORY, and $GIT_ALTERNATE_OBJECT_DIRECTORIES.  In the
    future, when libgit2 gets worktree support, git_repository_open_env will
    also respect $GIT_WORK_TREE and $GIT_COMMON_DIR; until then,
    git_repository_open_ext with this flag will error out if either
    $GIT_WORK_TREE or $GIT_COMMON_DIR is set.