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 :
To update all repositories :
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.
- use UIOP:RUN-PROGRAM
- git tags and branches