aboutsummaryrefslogtreecommitdiffstats
path: root/gitto/config.scm
Commit message (Collapse)AuthorAgeFilesLines
* Add some docstringsGravatar Tom Willemse2013-05-311-0/+37
|
* Properly handle multiple values for settingsGravatar Tom Willemse2013-05-291-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes an error that would cause values to be duplicated when specifying multiple values for a setting. Prior to this commit specifying multiple values for a setting would blindly replace one occurrence and add the rest, leaving any possible other occurrences intact. When starting fresh this would not be a problem, but using it multiple times would add the same settings repeatedly. - gitto/config.scm (merge-setting): If the given value is a of type `list', replace the `%a' specifier for each item in it. - gitto/config.scm (merge-settings): Move the handling of the case of `v' being a list into `merge-setting'. - gitto/config.scm (split-setting): Rename `parse-setting' to `split-setting'. Return a cons cell instead of a list. - gitto/config.scm (read-setting): New function. - gitto/config.scm (read-config): Remove unused variable. Use `read-setting' to get the right value for each line of the config file. - gitto/config.scm (write-setting): In case we're dealing with a list, print each value separately.
* Allow multiple values for config settingsGravatar Tom Willemse2013-05-251-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting a list as a value for `global-config' will instruct gitto to place that setting in the config more than once. For example: ,---- | (set! global-config | '(("remote \"origin\"" | ("url" . "git@somehost.com:~a.git") | ("pushurl" "git@somehost.com:~a.git" | "git@someotherhost.com:user/~a.git")))) `---- Will produce output similar to: ,---- | [remote "origin"] | url = git@somehost.com:repo-name.git | pushurl = git@somehost.com:repo-name.git | pushurl = git@someotherhost.com:user/repo-name.git `---- The ordering may vary depending on what was already found in the `origin' remote's settings. gitto doesn't know or care which settings can and cannot appear more than once in a configuration, it is up to the user to provide valid values.
* Add simple hook managementGravatar Tom Willemse2013-05-251-0/+12
| | | | | | | | | | | | | Introduces a new user configuration variable `hook-alist', which specifies which hooks to link to which executables, for example: ,---- | (set! hook-alist '(("commit-msg" . "/path/to/my/commit/msg/hook"))) `---- With this setting the command `config hooks' will install `/path/to/my/commit/msg/hook' to the `commit-msg' hook of each repository not in the `config-exclusion-list' setting.
* Change nameGravatar Tom Willemse2013-05-201-1/+1
|
* Add config management commandsGravatar Tom Willemse2013-05-171-0/+86
These commands parse the git configuration file and, merge settings defined in the rc.scm and print out the resulting configuration.