Gitwatch: Adicionar opção para incluir um diff (truncado) na mensagem de confirmação

Criado em 28 nov. 2012  ·  7Comentários  ·  Fonte: gitwatch/gitwatch

Conforme implementado em uma versão one-shot em ibrahima / @ibrahima nos comentários desse commit, pode ser bom para alguns casos de uso ter a chance de incluir o diff na mensagem de commit.

Deixar de fora coisas como o nome do arquivo e truncá-lo para o comprimento máximo padrão de 80 caracteres das mensagens de commit "curtas" do git, que deve combinar perfeitamente com as mudanças que geralmente mudam apenas um arquivo.

A opção também pode detectar o caso de vários arquivos tendo sido alterados e não incluindo o diff real nesse caso, mas em vez disso, algo como "Vários arquivos alterados, diff omitido."

help wanted

Comentários muito úteis

@mlncn Se você tentar minha solicitação de pull https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), deverá ser capaz de ver os nomes dos arquivos (com um gráfico das alterações) como o confirme a mensagem usando gitwatch -l 1 ~/myproject .

Todos 7 comentários

você pode implementar uma opção de troca (por exemplo, -d / - diff) para incluir isso, e uma opção adicional para definir depois de quantos caracteres ele deve ser truncado (o padrão deve ser 80)

Essa parece uma maneira sensata de fazer isso.

A última vez que verifiquei não havia uma _boa_ maneira de fazer longas trocas de opções (--diff) no bash (existem algumas maneiras razoáveis, nenhuma das quais considero elegante, mas o script bash raramente é elegante;)). Já que isso é bash, eu provavelmente iria para getopts e apenas alternaria um único caractere, embora haja uma maneira de fazer opções longas que dependem de um comportamento não padrão ou algo parecido. Também existe o GNU getopt que suporta opções longas, mas que pode ser uma solução menos portátil e parece um pouco mais feia. De qualquer forma, você provavelmente não se preocupa com tudo isso neste momento, já que até agora o gitwatch não toma nenhuma opção além do caminho, mas acho que depende de você o que pensa sobre isso. Já trabalhei com getopts antes, é bastante simples e é um bash embutido.

Acho que a outra questão é como truncar e se você deseja que os símbolos + - sejam incluídos e se deseja nomes de arquivo também. Talvez possa haver algumas opções que adicionam diferentes componentes à mensagem (diff truncado, arquivos alterados, a mensagem de auto-commit atual, etc).

Introduzimos algumas opções curtas no branch de teste, usando getopts no bash. Mas você está certo, se não existe uma maneira "boa" de usar as opções longas, as curtas servirão por enquanto.

Por enquanto, basta adicionar a mensagem diff antes do resto da mensagem de confirmação. Os usuários podem modificar o script facilmente se preferirem um tipo diferente de mensagem de confirmação. Se você pudesse puxar o branch de teste e adicionar a opção e manipulação lá, isso seria incrível: D

Parece que algum progresso significativo foi feito nisso. Se alguém quiser revisitar isso e embrulhar e terminar, ficarei feliz em considerar a fusão.

Na verdade, estou procurando por algo semelhante, mas quero incluir apenas o nome do arquivo na mensagem de confirmação. Provavelmente é mais fácil ou já existe uma maneira de fazer isso?

@dmusican Eu também quero esse recurso, então o implementei e criei uma solicitação pull em seu branch master mais recente: https://github.com/gitwatch/gitwatch/pull/54
Além disso, como você pode definir o número de linhas que são exibidas como "git diff" vs "git diff --stat", usar "-l 1" fará com que a funcionalidade que alguém tentou implementar em uma solicitação pull antiga https: // github.com/gitwatch/gitwatch/pull/23/commits/af28cf4a87c71cdb9da7046d40ea9542a4661f43

@mlncn Se você tentar minha solicitação de pull https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), deverá ser capaz de ver os nomes dos arquivos (com um gráfico das alterações) como o confirme a mensagem usando gitwatch -l 1 ~/myproject .

Solicitação de pull mesclada. Muito obrigado, @shervinemami .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Alwaysin picture Alwaysin  ·  8Comentários

miguelarauj1o picture miguelarauj1o  ·  7Comentários

hongkongkiwi picture hongkongkiwi  ·  3Comentários

datag picture datag  ·  9Comentários

sb2nov picture sb2nov  ·  3Comentários