Erro de "revisão desconhecida" do Git quando dentro do script bash

0

Estou escrevendo um script de shell que precisa executar determinadas operações com base na mensagem do último commit de minhas ramificações locais com um nome começando com "task".

Veja como meu script se parece

#!/bin/bash
git branch | while read branch_name;
    do 

        if [[ $branch_name == task* ]]; 
        then 
            git log --format=%s -n 1 ${branch_name}
        fi

    done

Quando executo esse script, recebo a seguinte saída:

fatal: ambiguous argument 'task/foo': unknown revision or path not in the working tree.

Use '--' to separate paths from revisions, like this: 'git [...] -- [...]'

O que é estranho porque eu tenho uma ramificação chamada task/foo (e também porque o nome é lido diretamente da saída de git branch ).

Eu tentei adicionar -- no final do git log , como sugerido, mas recebo o seguinte erro:

fatal: bad revision 'task/foo'

Quando eu faço exatamente o mesmo comando dentro de um shell, tudo funciona bem:

$ git log --format=%s -n 1 task/foo  
Initial commit (Readme, license)

Editar

Como sugerido, tentei colocar minha variável entre aspas duplas, como abaixo, mas ainda tenho o mesmo resultado.

#!/bin/bash
git branch | while read branch_name;
    do 

        if [[ $branch_name == task* ]]; 
        then 
            git log --format=%s -n 1 "${branch_name}"
        fi

    done

Eu também tentei o script sugerido por Klaatu, mas isso também me deu o mesmo erro.

Editar 2

Aqui está a saída quando adiciono set -x ao meu script:

+ git branch
+ read branch_name
+ [[ * develop == task* ]]
+ read branch_name
+ [[ master == task* ]]
+ read branch_name
+ [[ task/foo == task* ]]
+ git log --format=%s -n 1 'task/foo'
fatal: ambiguous argument 'task/foo': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
+ read branch_name

Use '-' para separar os caminhos das revisões, assim: 'git [...] - [...]' + leia o branch_name

    
por XGouchet 26.01.2016 / 17:44

0 respostas