can not set multiple configs at the same time

I tried to set multiple configs with Promise.all, but it seems as nodegit / libgit2 will lock the config on the first Config.setString call. So my first question is: Is it correct that it is only possible to set 1 config at the time?

Failed to lock file '/user/tom/.gitconfig.lock' for writing: 
    ---------------------------------------------------------------------
      operator: error
      expected: |-
        undefined
      actual: |-
        [Error: Failed to lock file '/user/tom/.gitconfig.lock' for writing: ]
      at: tryCallOne (/user/tom/project/nodegit-kit/node_modules/nodegit/node_modules/nodegit-promise/lib/core.js:37:12)

Second question: Is Config.setString always --global?
I would like to set the local config of the repo:

Finally, Git looks for configuration values in the configuration file in the Git directory (.git/config) of whatever repository you’re currently using. These values are specific to that single repository.
http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

From the git docs there seems to be system, global and local. Can this be configured?