浏览代码

Merge pull request #3918 from cbazin/master

Detect the .venv in any parent directory of the current directory
Robby Russell 9 年之前
父节点
当前提交
0a8ca6adff
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh

+ 5 - 2
plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh

@@ -37,8 +37,11 @@ if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then
     if [ ! $WORKON_CWD ]; then
       WORKON_CWD=1
       # Check if this is a Git repo
-      PROJECT_ROOT=`git rev-parse --show-toplevel 2> /dev/null`
-      if (( $? != 0 )); then
+      PROJECT_ROOT=`pwd`
+      while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" ]]; do
+        PROJECT_ROOT=`realpath $PROJECT_ROOT/..`
+      done
+      if [[ "$PROJECT_ROOT" == "/" ]]; then
         PROJECT_ROOT="."
       fi
       # Check for virtualenv name override