git log lança erro “argumento ambíguo”

0

Isso costumava funcionar há um ano. Agora isso não acontece:

git log --abbrev=6

O resultado esperado seria todos os hashes de confirmação abreviados para 6 caracteres.

O resultado real é agora esta mensagem de erro:

fatal: ambiguous argument '6': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'

Tenho a impressão de que o Git nem sequer conhece esse argumento e tenta ignorar silenciosamente o seu nome, mas não o valor.

Usando o Git 1.8.1.msysgit.1 no Windows 7.

Adição: Ah, e falha em outros parâmetros também. Todo o comando é:

git log --abbrev=6 --format=format:"----- Commit %%h on %%ci by %%an -----%%n%%n%%B"

Se eu simplesmente deixar a parte abreviada, ela ainda retornará outro erro:

fatal: Invalid object name 'format'.

    
por ygoe 19.10.2013 / 11:58

1 resposta

0

Nenhuma das opções acima falha para mim, mas também não funcionam, pelo menos não para mim no Mac / Unix.

O primeiro erro está sendo lançado porque o Git está analisando sua declaração como se --abbrev fosse um flag unário (ou seja, não aceita argumentos) e 6 fosse uma única ref de objeto (por exemplo, um nome de ramificação, um SHA , etc). Como em:

git log --abbrev GITREF    # Like branch or tag '6'

Parece estar fazendo a mesma coisa com a palavra-chave format .

Meu palpite é um dos seguintes:

  1. Análise de linha de comando un-Unix-Unix no seu emulador de terminal do Windows, que está causando desfiguração grave de suas opções
  2. Um bug na sua versão do Git que não afetou o código base e, portanto, não foi incluído nas notas principais da versão do Git (verifiquei ...)
  3. Uma possível mudança na maneira como --abbrev é tratado, que foi omitido nas notas de lançamento (Mais uma vez, verifiquei ...)

Apenas por curiosidade, deixe-me saber se algum dos seguintes trabalhos (nota: Eu desdupliquei seus sinais de porcentagem. Isso era uma coisa do Windows?):

git log --format=format:'----- Commit %h on %ci by %an -----%n%n%B' --abbrev=6
git log --format=format:'----- Commit %h on %ci by %an -----%n%n%B' --abbrev-commit
git log --pretty=format:'----- Commit %h on %ci by %an -----%n%n%B' --abbrev=6
git log --pretty=format:'----- Commit %h on %ci by %an -----%n%n%B' --abbrev-commit
    
por 25.10.2013 / 11:55

Tags