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