Skip to main content

Tool to checkout a specific commit to a unique location

Project description

checkout_code

Tool to checkout a specific commit to a unique location

installation

pip install .

usage

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.

example usage in scripts

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"

development version a.k.a HEAD

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

environment files

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

version history

0.1 2018-03-08

  • initial version

0.2 2018-03-08

  • added file lock
  • added requirements

0.3 2018-03-20

  • added loading of env files

0.4 2018-07-13

  • return exit code 1 if checkout_dir does not exists

0.5 2019-02-08

  • add default timeout for filelock (closes #2)
  • added option to change timeout value

Project details


Release history Release notifications | RSS feed

This version

0.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checkout_code-0.5.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

checkout_code-0.5-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file checkout_code-0.5.tar.gz.

File metadata

  • Download URL: checkout_code-0.5.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for checkout_code-0.5.tar.gz
Algorithm Hash digest
SHA256 814e1457a6ed2b50fff54f4473c143dd8f821076340f31c10f3f02df2bd5c0f0
MD5 7f9ff260ad7e17704cc444a7656882e5
BLAKE2b-256 197484cd46eadb02ad942b26b830353f6e02b23fa456784c7d58fd4a06163a40

See more details on using hashes here.

File details

Details for the file checkout_code-0.5-py3-none-any.whl.

File metadata

  • Download URL: checkout_code-0.5-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for checkout_code-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 82205516c8c0f50d40134fc4012280e7aa5a8e40d15a9c07cb73c3adfc6af1ca
MD5 9ace5b59e52966d7cfdc0d6db4749f3f
BLAKE2b-256 7b31b91d3b6640e5999b69a97e3d907a73ef640caa7308aed89637fd84e99838

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page