Hash :
69583bf3
Author :
Thomas de Grivel
Date :
2018-06-05T10:35:16
Common interface for version control systems.
Repo along with Manifest allow you to use source repositories directly as ASDF-installable packages. Keep it synced with upstream for development purposes.
;; startup repo
(load "~/common-lisp/thodg/repo/repo.lisp")
(repo:boot)
(repo:repo "github:thodg/repo") ;; Define repository by URI
(repo:repo "thodg/repo") ;; Find repository by dir/name
(repo:repo :repo) ;; Find repository by name
(setf repo:*repo-dir* "/tmp/repo-test") ;; Change installation directory
(repo:install "github:thodg/repo") ;; Install repository by URI
(repo:install "thodg/repo") ;; Install repository by dir/name
(repo:install :repo) ;; Install repository by name
(repo:update "github:thodg/repo") ;; Update repository by URI
(repo:update "thodg/repo") ;; Update repository by dir/name
(repo:update :repo) ;; Update repository by name
repo:*repos* ;; List of defined repositories
(repo:clear-repos) ;; Clear all definitions
This version only supports git repositories and relies on SBCL and /bin/sh. Next releases will support other VCS and drop requirements on SBCL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
# repo
Common interface for version control systems.
Repo along with Manifest allow you to use source repositories directly as
ASDF-installable packages. Keep it synced with upstream for development
purposes.
## Usage
``` Common-Lisp
;; startup repo
(load "~/common-lisp/thodg/repo/repo.lisp")
(repo:boot)
```
``` Common-Lisp
(repo:repo "github:thodg/repo") ;; Define repository by URI
(repo:repo "thodg/repo") ;; Find repository by dir/name
(repo:repo :repo) ;; Find repository by name
(setf repo:*repo-dir* "/tmp/repo-test") ;; Change installation directory
(repo:install "github:thodg/repo") ;; Install repository by URI
(repo:install "thodg/repo") ;; Install repository by dir/name
(repo:install :repo) ;; Install repository by name
(repo:update "github:thodg/repo") ;; Update repository by URI
(repo:update "thodg/repo") ;; Update repository by dir/name
(repo:update :repo) ;; Update repository by name
repo:*repos* ;; List of defined repositories
(repo:clear-repos) ;; Clear all definitions
```
## Version informations
This version only supports git repositories and relies on SBCL and /bin/sh.
Next releases will support other VCS and drop requirements on SBCL.
## TODO
* git tags and branches
* drop dependency on sbcl (run-program)
* drop dependency on /bin/sh
* CVS
* subversion
* bzr
* darcs
* mercurial