From e2c303c420944e2864eb3f12ecea02df0fbd7a7f Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 19 May 2013 23:05:31 +0200 Subject: [PATCH] Add exclusion list The variable `config-exclusion-list' can be used to specify project names that should not have their configuration overwritten by `gitto --update-config'. It is a normal list of strings which name the repositories that should be left alone, like so: (set! config-exclusion-list '("repo1" "repo2" "repo3")) --- gitto/main.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gitto/main.scm b/gitto/main.scm index 34f9866..bd9af49 100644 --- a/gitto/main.scm +++ b/gitto/main.scm @@ -28,6 +28,9 @@ #:use-module (srfi srfi-1) #:export (main)) +(define config-exclusion-list '() + "A list of strings naming the repositories to be left alone.") + (define (storage-dir xdg-env fallback) (let ((xdg (getenv xdg-env))) (string-append @@ -149,11 +152,12 @@ gitto [options] (define (update-config) (for-each (lambda (repo) - (write-config - (merge-config (repo-name repo) - (read-config (repo-location repo)) - global-config) - (string-append (repo-location repo) "/.git/config"))) + (unless (member (repo-name repo) config-exclusion-list) + (write-config + (merge-config (repo-name repo) + (read-config (repo-location repo)) + global-config) + (string-append (repo-location repo) "/.git/config")))) repositories)) (define option-spec