W7 - GIT et les commandes dos - Please HELP!
Bonjour à tous.
Fraichement migré sous Git, j'essaie désespérément de palier au manque de SVN info pour que le fichier de compte rendu de la compil du projet contienne un minimum d'info vitales, à savoir les numéros de révision distants et local.
Juste histoire de vérifier que l'on embarque la bonne version.
Pour ce faire, je me suis basé là dessus
https://gist.github.com/jcaddel/c730015b3fe2397420b5
Que j'ai adapté à ma sauce dans un fichier .bat et traduit de la sorte puisque je ne suis pas sous minux
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
"%BinVersionExe%" remote > c:\temp\temp.txt
set /p remoted=<c:\temp\temp.txt
"%BinVersionExe%" rev-parse --abbrev-ref HEAD > c:\temp\temp.txt
set /p branche=<c:\temp\temp.txt
"%BinVersionExe%" rev-parse "%remoted%"/"%branche%" > c:\temp\temp.txt
set /p lastRemoteCommit=<c:\temp\temp.txt
echo %lastRemoteCommit%
"%BinVersionExe%" --no-pager log --max-count=1 ^| head -n1 ^| cut -d ' ' -f2 > c:\temp\temp.txt
set /p lastLocalCommit=<c:\temp\temp.txt
echo Remote URL : %Branch% >> %nameInfoFile%
echo Branch : %remoted%/%branche% >> %nameInfoFile%
echo Last local commit : %lastLocalCommit% >> %nameInfoFile%
echo Last remote commit : %lastRemoteCommit% >> %nameInfoFile%
echo Compilation start time: %startTime% >> %nameInfoFile%
echo Compilation end time: %entTime%>> %nameInfoFile% |
"%BinVersionExe%" contient le lien vers l'exécutable GIT
Le problème vient de la ligne suivante:
"%BinVersionExe%" --no-pager log --max-count=1 ^| head -n1 ^| cut -d ' ' -f2 > c:\temp\temp.txt
A l'exécution, j'ai le doux message d'insulte suivant:
Citation:
fatal: ambiguous argument '|': unknown revision or path not in the working tree.
Use '--' to seprate paths from revisions, like this:
...
:weird:
Par contre, quand je lance la même commande dans une fenêtre simple, je récupère ce que je veux, à savoir le n° de révision locale.
J'ai essayé en supprimant la partie de la commande problématique :
Code:
"%BinVersionExe%" --no-pager log --max-count=1 > c:\temp\temp.txt
Dans mon fichier temporaire je récupère le résultat complet de la commande à savoir
Citation:
commit fiouuqu'ilestlonlenumero
Author: le responsable du futur fiasco en prod
Date: Thu Oct 5 11:21:34 2017 +0200
[POURQUOI] ben comment
Ce coup-ci, l'affectation de la variable fonctionne "bien" (je ne récupère que la première ligne de fichier, sacré dos va!!!)
Code:
set /p lastLocalCommit=<c:\temp\temp.txt
mais c'est l'insertion dans le fichier de rapport qui ne se fait pas.
Code:
echo Last local commit : %lastLocalCommit% >> %nameInfoFile%
La donnée s'affiche uniquement à l'écran.:calim2:
Citation:
Last local commit : commit fiouuqu'ilestlonlenumero
Je précise que toutes les autres données sont bien présentes dans le fichier de rapport.
Auriez-vous une idée de ce qui se passe car je sèche lamentablement...
Please HELP!!!