aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cuirass/repo.scm38
-rw-r--r--tests/repo.scm32
2 files changed, 1 insertions, 69 deletions
diff --git a/src/cuirass/repo.scm b/src/cuirass/repo.scm
index be5ea5b..26ea328 100644
--- a/src/cuirass/repo.scm
+++ b/src/cuirass/repo.scm
@@ -30,8 +30,7 @@
repo-snapshot
repo-updater
repo-update
- file-repo
- git-repo))
+ file-repo))
(define-immutable-record-type <repo>
;; An Abstract repository. Use "repo" as a shortname for "repository".
@@ -79,38 +78,3 @@
#:location file-name
#:snapshoter file-repo-snapshot
#:updater file-repo-update))))
-
-(define git-repo
- (let ((git "git")
- (hash-algo "sha256"))
- (define (git-repo-snapshot this store)
- "Add a snapshot of URL to STORE. "
- (let ((dir (repo-location this))
- (id (repo-id this)))
- (call-with-temporary-directory
- (λ (tmpdir)
- (let ((tmp-repo (string-append tmpdir "/" dir)))
- (and (zero? (system* "cp" "-R" dir tmpdir))
- (with-directory-excursion tmp-repo
- (zero? (system* "rm" "-rf" ".git")))
- (add-to-store store id #t hash-algo tmp-repo)))))))
-
- (define (git-repo-update this ref)
- (let ((url (repo-url this))
- (dir (repo-location this)))
- (and
- (or (file-exists? dir)
- (zero? (system* git "clone" url dir))
- (error "file not found"))
- (with-directory-excursion dir
- (and (zero? (system* git "pull"))
- (zero? (system* git "reset" "--hard" ref)))))))
-
- (λ* (#:key url dir)
- "Create a Git repository. URL is the location of the remote repository.
-REF is the identifier that is tracked."
- (repo #:id dir
- #:url url
- #:location dir
- #:snapshoter git-repo-snapshot
- #:updater git-repo-update))))
diff --git a/tests/repo.scm b/tests/repo.scm
index fc73a64..8890c0a 100644
--- a/tests/repo.scm
+++ b/tests/repo.scm
@@ -76,38 +76,6 @@ name."
;; Cleanup.
(delete-file file-name))
-;;;
-;;; Git repository.
-;;;
-
-(define (create-git-repository name)
- (let ((git "git"))
- (system* git "init" name)
- (with-directory-excursion name
- (create-file "foo")
- (system* git "add" "foo")
- (system* git "commit" "-m" "'foo'"))))
-
-(test-group-with-cleanup "git-repo"
- (define rpt (git-repo #:url file-name
- #:dir "git-example"))
-
- ;; Since repository doesn't exist yet, 'repo-update' should throw an error.
- (test-error "git-repo-update: file not found"
- 'system-error
- (repo-update rpt "master"))
-
- (create-git-repository file-name)
-
- (test-assert "git-repo-update"
- (repo-update rpt "master"))
-
- (test-assert "git-repo-snapshot"
- (in-store? (repo-snapshot rpt store)))
-
- ;; Cleanup.
- (system* "rm" "-rf" file-name "git-example"))
-
(close-connection store)
(test-end)