Tool to checkout a specific commit to a unique location
pip install checkout_code
checkout_code
--repository /path/to/git/repo
--checkout-dir /path/to/version/location
-c commit_hash
--use-prefix
--use-prefix
prefixes the directories in checkout_dir
with the repository name
To get the final path use an additional --get-path
, i.e.
checkout_code
--repository /path/to/git/repo
--checkout-dir /path/to/version/location
-c commit_hash
--use-prefix
--get-path
this will only print the path but not checkout the code. Its intendented to be used in a variable.
source env/bin/activate
COMMIT="b59616685000ddb5583186bcb7fd4b3e3d481f19"
checkout_code --repository ~/src/sockeye --checkout-dir ~/work/sockeye/ -c $COMMIT --use-prefix
path=$(checkout_code --repository ~/src/sockeye --checkout-dir ~/work/sockeye/ -c $COMMIT --use-prefix --get-path)
export PYTHONPATH="$path:$PYTHONPATH"
if you specify the commit as HEAD
the tool will not checkout anything but the --get-path
option will return your repository. That way you can use HEAD
to point to your latest, possible uncommited, version
To make it easier to use you can also use .env
files instead or in addition to CLI-options. You can specify the file by using --env /path/to/.env/file
or it will automatically search for files. In the environment file just use
repository=/path/to/repo
checkout_dir=/path/to/checkout_dir
use_prefix=True
to specify your settings.
Note command line arguments will always override environment settings
- initial version
- added file lock
- added requirements
- added loading of env files
- return exit code 1 if checkout_dir does not exists
- add default timeout for filelock (closes #2)
- added option to change timeout value