mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-14 20:39:55 -05:00
feat: support (skip) commented lines in version-file
Sometimes it is convenient to be able to temporarily disable something in a version-file. Because these files often aren't necessarily tracked in a SCM, especially when working with virtualenvs, the SCM diffs won't help with showing removed lines which are currently the only way to disable something.
This commit is contained in:
parent
c010935abd
commit
641916270b
3 changed files with 14 additions and 1 deletions
|
@ -136,6 +136,7 @@ executable path to each of these using `pyenv which`, e.g. `pyenv which python2.
|
||||||
(should display `$(pyenv root)/versions/2.5/bin/python2.5`), or `pyenv which
|
(should display `$(pyenv root)/versions/2.5/bin/python2.5`), or `pyenv which
|
||||||
python3.4` (should display path to system Python3). You can also specify multiple
|
python3.4` (should display path to system Python3). You can also specify multiple
|
||||||
versions in a `.python-version` file, separated by newlines or any whitespace.
|
versions in a `.python-version` file, separated by newlines or any whitespace.
|
||||||
|
Lines starting with a `#` are ignored.
|
||||||
|
|
||||||
### Locating the Python Installation
|
### Locating the Python Installation
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ if [ -e "$VERSION_FILE" ]; then
|
||||||
# Read the first non-whitespace word from the specified version file.
|
# Read the first non-whitespace word from the specified version file.
|
||||||
# Be careful not to load it whole in case there's something crazy in it.
|
# Be careful not to load it whole in case there's something crazy in it.
|
||||||
IFS="${IFS}"$'\r'
|
IFS="${IFS}"$'\r'
|
||||||
words=($(cut -b 1-1024 "$VERSION_FILE" | sed 's/[[:space:]]*\([^[:space:]^[:space:]]*\).*/\1/'))
|
words=($(cut -b 1-1024 "$VERSION_FILE" | sed -n 's/^[[:space:]]*\([^[:space:]#][^[:space:]]*\).*/\1/p'))
|
||||||
versions=("${words[@]}")
|
versions=("${words[@]}")
|
||||||
|
|
||||||
if [ -n "$versions" ]; then
|
if [ -n "$versions" ]; then
|
||||||
|
|
|
@ -70,3 +70,15 @@ IN
|
||||||
run pyenv-version-file-read my-version
|
run pyenv-version-file-read my-version
|
||||||
assert_success "3.3.5"
|
assert_success "3.3.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "skips comment lines" {
|
||||||
|
cat > my-version <<IN
|
||||||
|
3.9.3
|
||||||
|
3.8.9
|
||||||
|
# 3.4.0
|
||||||
|
#3.3.7
|
||||||
|
2.7.16
|
||||||
|
IN
|
||||||
|
run pyenv-version-file-read my-version
|
||||||
|
assert_success "3.9.3:3.8.9:2.7.16"
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue