pourquoi la sortie de git log redirige vers une boucle while ne fonctionne pas?

WestFarmer

J'essaye cette commande dans mon script shell bash:

git log --oneline --no-decorate  --pretty=format:"%s" $oldrev..$newrev

git log --oneline --no-decorate  --pretty=format:"%s" $oldrev..$newrev | while read -r line; do
    echo "$line"
done

le premier journal git peut imprimer la sortie, mais le second suivi de while n'imprimera rien. Pourquoi ?

J'invoque mon script comme ceci: (deuxième et troisième arguments passés à $ oldrev et $ newrev)

./check master a735c2f eb23992

si j'ajoute l'option --no-pager, les deux n'imprimeront rien.

J'utilise bash 4.4.23 (1) -release sur fedora 28.

VonC

Au lieu de pretty=format, vous devez utiliser pretty=tformat:

' tformat:'

Le tformat:format « » fonctionne exactement comme « format:», sauf qu'il fournit une sémantique de «terminateur» au lieu d'une sémantique de «séparateur».

En d'autres termes, chaque validation a le caractère de fin de message (généralement une nouvelle ligne) ajouté, plutôt qu'un séparateur placé entre les entrées.

Cela signifie que l'entrée finale d'un format sur une seule ligne se terminera correctement par une nouvelle ligne, tout comme le fait le format «en ligne». Par exemple:

$ git log -2 --pretty=format:%h 4da45bef \
  | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
4da45be
7134973 -- NO NEWLINE

$ git log -2 --pretty=tformat:%h 4da45bef \
  | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
4da45be
7134973

En outre, toute chaîne non reconnue qui contient un %est interprétée comme si elle était tformat:devant elle.
Par exemple, ces deux sont équivalents:

$ git log -2 --pretty=tformat:%h 4da45bef
$ git log -2 --pretty=%h 4da45bef

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

pourquoi la boucle while ne fonctionne pas ?

Pourquoi diriger la sortie de la commande vers une variable ne fonctionne pas dans le fichier batch

la dernière entrée ne fonctionne pas après la sortie de la boucle while

La sortie de la boucle while ne fonctionne pas en Java

Pourquoi la sortie de numpy.dot vers Memmap ne fonctionne-t-elle pas?

Le bloc Gradle Exec ne redirige pas la sortie standard vers un flux de sortie donné

Pourquoi la boucle while ne fonctionne pas dans ce code ?

Pourquoi la boucle While avec for inside ne fonctionne pas ?

pourquoi la substitution de processus ne fonctionne pas toujours avec la boucle while dans bash?

Pourquoi mon code ne fonctionne pas lors de l'exécution de la boucle while

La sortie de la fonction Python ne fonctionne pas - pourquoi?

Pourquoi cette boucle while ne fonctionne pas ?

La sortie ls distante ne redirige pas vers le fichier

Pourquoi la boucle while de Python ne fonctionne-t-elle pas correctement

La boucle For ne fonctionne pas, mauvaise sortie

La sortie vers .txt ne fonctionne pas

Pourquoi une boucle While dans une boucle For ne fonctionne-t-elle pas dans mon programme ?

pourquoi la boucle for dans le programme ne fonctionne pas correctement. Il affiche une sortie correcte mais donne une sortie étrange

Pourquoi mon formulaire html Netlify fonctionne-t-il, mais ne redirige-t-il pas vers une page de confirmation ?

La demande de publication ne fonctionne pas dans une boucle while

Pourquoi la compréhension de la liste des cas d'échange fonctionne mais une boucle for ne fonctionne pas

Pourquoi le mappage de chemin ne redirige pas vers la page?

Sortir de la boucle while ne fonctionne pas

Sortir de la boucle while ne fonctionne pas

Pourquoi ma boucle while ne fonctionne-t-elle pas si la condition fonctionne correctement ?

Pourquoi une boucle while True ne fonctionne-t-elle pas dans mon jeu de ciseaux à papier pierre?

Pourquoi ne puis-je pas diriger la sortie de l'assembleur vers la sortie standard ?

La boucle while simple ne fonctionne pas

Ruby: la boucle while ne fonctionne pas

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive