Função Bash para abrir o repositório git com o navegador

2

Estou tentando criar uma função bash para que eu possa obter isso.

O usuário, via terminal, vai para o caminho do projeto git como:

/home/daniel/projects/my_super_project

Assim, o usuário digitará open e o navegador será aberto no github.com, como:

http://github.com/bla/my_super_project.git

Até agora eu tenho este código:

function teste {
     if [ -d .git ]; then
         remotes=$(git remote -v | awk -F'[email protected]:' '{print }' | cut -d" " -f1)
         url="https://github.com/"
         url="$url$($remotes | cut -d" " -f1)"
         # here I'll open the browser
     else
       # git rev-parse --git-dir 2> /dev/null;
       echo "Not a git repo"
     fi;
}

Eu verifico se existe uma pasta .git , em caso afirmativo, procuro a origem remota e obtenho seu valor que está dentro de remote_url . Eu estava tentando concatenar o https://github.com com o remote_url , mas nenhum sucesso porque o terminal acha que é um caminho, então eu entendo isso:

  

bash: bla / my_super_project.git: Nenhum desses arquivos ou diretório

Como posso concatenar esses dois valores?

    
por Gerep 15.01.2013 / 14:48

1 resposta

2

Problema resolvido:

function opengit {
    if [ -d .git ]; then
        remotes=$(git remote -v | awk -F'[email protected]:' '{print }' | cut -d" " -f1)
        if [ -z "$remotes" ];
        then
            remotes=$(git remote -v | awk -F'https://github.com/' '{print }' | cut -d" " -f1)
        fi

        remote_url=$(echo $remotes | cut -d" " -f1)
        url="https://github.com/"
        url="${url}${remote_url}"
        xdg-open $url
    else
      echo "Not a git repo"
    fi;
}
    
por Gerep 15.01.2013 / 15:51