Come posso liberarmi delle 'remota:' messaggi che appaiono su ogni linea restituito da post-ricevo in git?

StackOverflow https://stackoverflow.com/questions/3170337

  •  02-10-2019
  •  | 
  •  

Domanda

Ho creato un post-ricezione gancio in git. I messaggi in uscita gancio allo schermo, che vengono inviati al client git facendo la spinta, e emessi indietro.

Come posso liberarmi della 'remota:' il testo prima di ogni singola riga di output? E 'piuttosto fastidioso. (So ??che è possibile, perché l'ho visto, in pratica, solo che non so come si fa.)

È stato utile?

Soluzione

. Nota: Il prefisso può essere importante per evitare di confondere i messaggi di sistema remoto come messaggi dal sistema locale

Detto questo, non v'è alcun modo per disattivare il prefisso, ma sono tutti scritti a stderr. Si potrebbe reindirizzare / capture / filtrata del stderr di git push per fare quello che vuoi.

Un modo approssimativo di fare potrebbe essere qualcosa di simile:

git push ... 2>&1 | sed -e 's/^remote: //'

Si invia stdout in un tubo e marchi stderr avanzamento nello stesso posto. All'altra estremità del tubo, sed legge l'output combinato ed elimina eventuali prefissi remote:. Questo dovrebbe essere a posto in quanto è improbabile vedere prefissi remote: nel flusso stdout. La combinazione di stdout e stderr di questo tipo è generalmente accettabile per l'uso interattivo (da quando sono stati probabilmente andando allo stesso dispositivo TTY in ogni caso), ma non può essere una buona idea per l'utilizzo in contesti automatizzati (script per esempio).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top