Skip to content

vg auto-activate works incorrectly #45

@ssergiienko

Description

@ssergiienko

Case 1: Destroyed environments are re-created again with cd

[host]xyz_proj$ vg init
...
(xyz_proj) [host]xyz_proj$ vg destroy
[host]xyz_proj$ cd any_other_folder
[host]any_other_folder$ cd xyz_proj
Creating workspace "xyz_proj" with global fallback import mode
Activating "xyz_proj"
(xyz_proj) [host]xyz_proj$

I've managed to fix the problem with new condition to activate function:

__vg_auto_activate() {
    activation_root=$PWD
    while [ "$activation_root" != "" ]; do
        if [ -f "$activation_root/.virtualgo" ]; then
            new_virtualgo_name=$(cat "$activation_root/.virtualgo")
            if [ "" = "$VIRTUALGO" ] || [ "$new_virtualgo_name" != "$VIRTUALGO" ]; then
                # that's what I added
                if [[ -d "$HOME/.virtualgo/$new_virtualgo_name" ]];then   # <=========
                vg activate "$new_virtualgo_name"
                fi
            fi
            return

Also, I think that vg destroy should do vg unlink automatically

Case 2: Activate in child folder of folder that is linked to some vg environment will create new environment instead of activating parent.

src is a child folder of goenv:

(goenv) [host]src$ vg deactivate
Deactivating goenv
[host]src$ vg activate
Creating workspace "src" with global fallback import mode
Activating src

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions