Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

color.branch yes aparenta ser válido

$ git version
git version 2.19.1
$ git config color.branch yes
$ git branch
* 3.7

O texto * 3.7 aparece colorido.

Ainda assim, o exercício indica que yes não é válido.

Tentei sugerir a mudança no exercício, mas não encontrei como sugerir alteração nas respostas.

8 respostas

Oi Thiago, fiquei na dúvida, será que é válido mesmo ou git tá apenas ignorando e considerando o yes como true? Isso por que a documentação não menciona o yes, mas menciona o true e o auto.

Outra questão é que pode ter sido alguma atualização que permitiu isso.

Aparentemente, é uma falha de documentação. Destaco os seguintes trechos do git help config:

Sobre valores boolean:

When a variable is said to take a boolean value, many synonyms are accepted for true and false; these are all case-insensitive.

    true
        Boolean true literals are yes, on, true, and 1. Also, a variable defined without = <value> is taken as true.

[...]

Sobre a configuração color.branch:

A boolean to enable/disable color in the output of git-branch(1).

[...]

Bem, como a configuração possui valor boolean, então os sinônimos (yes, on, true e 1) serão aceitos.

Quanto a esse comportamento ter sido modificado em alguma atualização, testei também na versão 1.8.2.3 (de 2013!):

$ git version
git version 1.8.2.3
$ git config color.branch yes
$ git branch
* 3.7

Outra coisa a ser observada é que, tentando configurar com o valor sim causa problemas:

$ git config color.branch sim
$ git branch
fatal: bad config value for 'color.branch' in .git/config

Interessante, bom, a questão dos sinônimos não é algo específico do Git. SQL também tem algo assim e várias outras coisas.

Sua exploração foi bem bacana Thiago! Fico feliz que tenha ido longe nessa, muitas vezes precisamos dar uma explorada aprofundada mesmo.

Podemos dar como resolvido a questão então? :)

O exercício ainda indica que yes é uma opção inválida.

Gostaria que o exercício fosse corrigido, antes de considerar resolvida esse tópico.

Oi Thiago Acredito que está aparecendo colorido porque desde a versão 1.8.4 o color.ui padrão é auto. O curso é de 2012.

Segundo a documentação só encontrei como valores válidos as opções:

Os valores aceitáveis para esse comando são: default,never e auto.

Como a opção D trata do diff e não da branch ela está incorreta também.

O objetivo é tornar a visualização da branch colorida.

Espero ter ajudado e bons estudos.

Fica colorida também no git 1.8.2.3, conforme postei acima.

Funciona com yes, pois variáveis boolean possuem os seguintes sinônimos: yes, on, true e 1. Aqui está a documentação indicando esse fato.

Quanto ao curso ser de 2012:

  • Exercícios em cursos antigos não são atualizados?

  • Na versão 1.5.6.6, lançada em dezembro de 2008, Esse comportamento já está presente:

    $ git version
    git version 1.5.6.6
    $ git config color.branch yes
    $ git branch
    * 3.7

    O texto * 3.7 aparece colorido.

Oi Thiago agora ficou claro pra mim a questão do boolean, com essa parte da documentação que você postou, a que eu postei acima era específica da branch, e temos essa configuração mais genérica, eu postei sobre o curso ser de 2012 para indicar que ele pode estar desatualizado, inclusive existem muitas flags que não são mais necessárias em outros exercícios, que estou anotando para pedir atualização também. Já passei essa questão para a Equipe da Alura atualizar o exercício.

solução!

Oi Pessoal, corrigi o exercício.

obrigado por relatar!

abs, Nico

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software