aboutsummaryrefslogtreecommitdiffstats
path: root/gitto
diff options
context:
space:
mode:
authorGravatar Tom Willemse2014-03-02 00:01:07 +0100
committerGravatar Tom Willemse2014-03-02 00:01:07 +0100
commit7a0c947c10ddfdb96751128ea6dcf0e8d3852ee9 (patch)
tree6795bc2c192ec099b0b5c727381235f718d628a1 /gitto
parentbc4555b0ddc450df72a109f5117048aff42aeb61 (diff)
downloadgitto-7a0c947c10ddfdb96751128ea6dcf0e8d3852ee9.tar.gz
gitto-7a0c947c10ddfdb96751128ea6dcf0e8d3852ee9.zip
Simplify the remove command
Diffstat (limited to 'gitto')
-rw-r--r--gitto/main.scm19
1 files changed, 14 insertions, 5 deletions
diff --git a/gitto/main.scm b/gitto/main.scm
index a46b5e2..d790200 100644
--- a/gitto/main.scm
+++ b/gitto/main.scm
@@ -29,6 +29,12 @@
#:use-module (srfi srfi-1)
#:export (main))
+(define (canonicalize-filename path)
+ "Get a canonicalized name for PATH, unless it's already familiar."
+ (if (member path repositories same-repository?)
+ path
+ (realpath path)))
+
(define (config-dir) (storage-dir "XDG_CONFIG_HOME" "/.config"))
(define (config-file file) (string-append (config-dir) "/" file))
@@ -72,6 +78,12 @@
(repo-location repo)))
repositories same-repository?)))
+(define (remove-repository repository)
+ "Remove REPOSITORY from the list of known repositories."
+ (set! repositories
+ (delete repository repositories same-repository?))
+ (save-repositories-list))
+
(define (save-repositories-list)
"Save the list of repositories."
(ensure-directory-exists. (data-dir))
@@ -238,14 +250,11 @@ which no longer point to a git repository."
Removes REPO from the registered repository list. This command will
fail if REPO does not indicate a git repository of if it hasn't been
registered."
- (unless (member repository repositories same-repository?)
- (set! repository (realpath repository)))
+ (set! repository (canonicalize-filename repository))
(if (known? repository)
(begin
- (set! repositories
- (delete repository repositories same-repository?))
- (save-repositories-list)
+ (remove-repository repository)
(simple-format #t "Repository ~A removed." repository))
(display "Not a registered repository."))
(newline))