public static void getValues(@NotNull Project project,
                               @NotNull VirtualFile root,
                               @Nullable @NonNls String keyMask,
                               @NotNull Map<String, String> result) throws VcsException {
    GitLineHandler h = new GitLineHandler(project, root, GitCommand.CONFIG);
    h.setEnableInteractiveCallbacks(false);
    h.setSilent(true);
    h.addParameters("--null");
    if (keyMask != null) {
      h.addParameters("--get-regexp", keyMask);
    }
    else {
      h.addParameters("-l");
    }
    String output = Git.getInstance().runCommand(h).getOutputOrThrow();
    int start = 0;
    int pos;
    while ((pos = output.indexOf('\n', start)) != -1) {
      String key = output.substring(start, pos);
      start = pos + 1;
      if ((pos = output.indexOf('\u0000', start)) == -1) {
        break;
      }
      String value = output.substring(start, pos);
      start = pos + 1;
      result.put(key, value);
    }
  }
public static void getValues(@NotNull Project project,
                               @NotNull VirtualFile root,
                               @Nullable @NonNls String keyMask,
                               @NotNull Map<String, String> result)