Skip to content

Avoids env var warning when path contains $/%; fix #832 - #961

Merged
Byron merged 1 commit into
gitpython-developers:masterfrom
rgkimball:fix/expandvars-warning
Dec 6, 2019
Merged

Avoids env var warning when path contains $/%; fix #832#961
Byron merged 1 commit into
gitpython-developers:masterfrom
rgkimball:fix/expandvars-warning

Conversation

@rgkimball

Copy link
Copy Markdown
Contributor

I ran into the same issue as @kamadoatfluid in #832, as I have a mounted disk path including a $ (valid file & folder character in most operating systems, as is %). Since this is intended to catch environment variables per #662, I propose the use of regex instead to prevent irrelevant warnings from cluttering logs/console output.

This PR supports all expansion conventions demonstrated in os.path.expandvars, and also aligns with environment variable naming specifications. Illegal variables simply will cause errors and therefore don't present a security risk: word characters only, beginning with a-z or _.

Supported formats:

  • % APPDATA % or %APPDATA%
  • $MYVAR
  • ${MYVAR}
@Byron

Byron commented Dec 6, 2019

Copy link
Copy Markdown
Member

Sorry for the late response and thanks a lot for the improvement!

@Byron
Byron merged commit 313b3b4 into gitpython-developers:master Dec 6, 2019
@Byron Byron added this to the v3.0.6 - Bugfixes milestone Dec 6, 2019
wip-sync referenced this pull request in NetBSD/pkgsrc-wip Mar 7, 2020
3.1.0
=====

* Switched back to using gitdb package as requirement
  (`gitdb#59 <https://github.com/gitpython-developers/gitdb/issues/59>`_)

3.0.9
=====

* Restricted GitDB (gitdb2) version requirement to < 4
* Removed old nose library from test requirements

Bugfixes
--------

* Changed to use UTF-8 instead of default encoding when getting information about a symbolic reference
  (`#774 <https://github.com/gitpython-developers/GitPython/issues/774>`_)
* Fixed decoding of tag object message so as to replace invalid bytes
  (`#943 <https://github.com/gitpython-developers/GitPython/issues/943>`_)

3.0.8
=====

* Added support for Python 3.8
* Bumped GitDB (gitdb2) version requirement to > 3

Bugfixes
--------

* Fixed Repo.__repr__ when subclassed
  (`#968 <https://github.com/gitpython-developers/GitPython/pull/968>`_)
* Removed compatibility shims for Python < 3.4 and old mock library
* Replaced usage of deprecated unittest aliases and Logger.warn
* Removed old, no longer used assert methods
* Replaced usage of nose assert methods with unittest

3.0.7
=====

Properly signed re-release of v3.0.6 with new signature
(See `#980 <https://github.com/gitpython-developers/GitPython/issues/980>`_)

3.0.6
=====

| Note: There was an issue that caused this version to be released to PyPI without a signature
| See the changelog for v3.0.7 and `#980 <https://github.com/gitpython-developers/GitPython/issues/980>`_

Bugfixes
--------

* Fixed warning for usage of environment variables for paths containing ``$`` or ``%``
  (`#832 <https://github.com/gitpython-developers/GitPython/issues/832>`_,
  `#961 <https://github.com/gitpython-developers/GitPython/pull/961>`_)
* Added support for parsing Git internal date format (@<unix timestamp> <timezone offset>)
  (`#965 <https://github.com/gitpython-developers/GitPython/pull/965>`_)
* Removed Python 2 and < 3.3 compatibility shims
  (`#979 <https://github.com/gitpython-developers/GitPython/pull/965>`_)
* Fixed GitDB (gitdb2) requirement version specifier formatting in requirements.txt
  (`#979 <https://github.com/gitpython-developers/GitPython/pull/965>`_)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants