Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Rugged::Config#add #834

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Commits on Mar 18, 2020

  1. Add Rugged::Config#add

    This method allows you to set multiple values for the same key in a
    particular config, similar to `git config --add "include.path" some/path`.
    
    For example, I have a git config with an existing `include.path` value:
    
    ```
    $ cat ~/src/opensource/rugged/.git/config
    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
            ignorecase = true
            precomposeunicode = true
    [remote "origin"]
            url = [email protected]:codenamev/rugged.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
            remote = origin
            merge = refs/heads/master
    [submodule "vendor/libgit2"]
            active = true
            url = https://github.com/libgit2/libgit2.git
    [include]
            path = /Users/codenamev/.gitconfig.reflow
    ```
    
    With `Rugged::Config#add` I can set another value for `include.path`
    without overwriting the existing value:
    
    ```
    ruby -I lib -rrugged -e'\
    config = Rugged::Repository.new("/Users/codenamev/src/opensource/rugged").config;
    config.add("include.path", "/Users/codenamev/.gitconfig.extras");
    p config.get_all("include.path")'
    ["/Users/codenamev/.gitconfig.reflow", "/Users/codenamev/.gitconfig.extras"]
    ```
    
    References libgit2#725
    codenamev committed Mar 18, 2020
    Configuration menu
    Copy the full SHA
    e4ca303 View commit details
    Browse the repository at this point in the history