Prática recomendada para usar arquivos de projetos do github

1

Estou usando o gem do ruby tmuxinator que instalei por meio de gem install tmuxinator , de acordo com as instruções de instalação do projeto github.

link do tmuxinator

Como parte de suas instruções de instalação, eles também especificam o download de um arquivo "completion" do repositório e o link para ele a partir do arquivo shells rc.

Minha pergunta: Visto que eu instalo o projeto como uma jóia de rubi e não da clonagem do repositório do github, se eu fizer o download do arquivo necessário, ele não será atualizado. Devo, em vez disso, clonar o repositório e mantê-lo em algum lugar, apontando para esse local do zshrc?

Existe uma prática recomendada ou típica de como as pessoas fazem isso? Caso contrário, parece que eu não mantenho meus arquivos atualizados ou tenho que clonar todos os repositórios de projetos que funcionam dessa maneira?

    
por Jordan 24.08.2016 / 13:37

1 resposta

0

Aqui está algo que funcionará em zsh ou bash para alcançar o que você procura.

Se você fizer um gem clean para remover uma versão antiga de tmuxinator , ele consertará as coisas quando o código for executado na próxima vez (ou seja, na próxima inicialização do shell, se no seu .zshrc )

# Allow shell-specific code
function sh_is_zsh { [[ -n $ZSH_VERSION ]]; }
function sh_is_bash { [[ -n $BASH_VERSION ]]; }

# Update "tmuxinator.{z,ba}sh" if needed
tmuxinator_source="$XDG_CONFIG_HOME/tmuxinator/tmuxinator.$(sh_is_zsh && echo zsh || echo bash)"
# If not a regular file or symlink to one
if [[ ! -f $tmuxinator_source ]]; then
    # If doesn't exist or is a symlink to nowhere
    if [[ ! -e $tmuxinator_source ]] || [[ -L $tmuxinator_source ]] && [[ ! -e $tmuxinator_source ]]; then
        echo "Creating ${tmuxinator_source##*/} symlink:"
        tmp=$(gem which tmuxinator) # tmuxinator executable
        tmp=$(readlink -f "${tmp%/*}/../completion") # completion scripts dir
        ln -fsv "$tmp/${tmuxinator_source##*/}" "$tmuxinator_source"
        unset tmp
    else
      echo "Not creating symlink at at existing:"
      ls -lF "$tmuxinator_source"
    fi
fi

source "$tmuxinator_source"
unset $tmuxinator_source

Observe que este é shellcheck clean para pontos extras de brownie.

    
por 24.08.2016 / 13:51