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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
fatal: ambiguous argument '|': unknown revision or path not in the working tree.

Use '--' to seprate paths from revisions, like this:
...


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 : Sélectionner tout - Visualiser dans une fenêtre à part
"%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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
set /p lastLocalCommit=<c:\temp\temp.txt
mais c'est l'insertion dans le fichier de rapport qui ne se fait pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo Last local commit : %lastLocalCommit% >> %nameInfoFile%
La donnée s'affiche uniquement à l'écran.
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!!!