Hash :
f952e22f
Author :
Thomas de Grivel
Date :
2020-03-27T11:36:27
Common interface for version control systems.
Repo allows you to use source repositories directly as ASDF-installable packages and keep them synced with upstream for development purposes.
Each repo is installed in a subdirectory. Github repositories are installed in the user subdirectory.
Install ASDF from git :
mkdir -p ~/common-lisp/fare
cd ~/common-lisp/fare
git clone https://github.com/fare/asdf.git
cd asdf
make
Install REPO from git :
mkdir -p ~/common-lisp/thodg
cd ~/common-lisp/thodg
git clone https://github.com/thodg/repo.git
make
In your Common Lisp implementation startup file :
(load "~/common-lisp/fare/asdf/build/asdf")
(load "~/common-lisp/thodg/repo/repo")
(repo:boot)
Repo integrates with ASDF :
(asdf:load-system :thot)
To update all repositories :
(repo:update repo:*manifest*)
Other functions :
(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 /bin/sh. Next releases will support other VCS / systems.
SBCL and CLISP are supported.