xargs no Windows: Nenhum arquivo ou diretório

2

Eu queria ressincronizar as tags no meu repositório git local com as do nosso servidor remoto, usando esta resposta fornecida no StackOverflow :

git tag -l | xargs git tag -d
git fetch --tags

Eu tenho git para windows portable instalado que inclui xargs de FindUtils para Windows (como melhor Eu posso dizer).

Quando eu executo a primeira parte do comando, tudo que eu obtenho é:

xargs: git: No such file or directory

Se eu modificar o comando para executar:

git tag -l | xargs echo

Ele corretamente "ecoa" as tags para mim. Então, minha única conclusão é que os xargs, por algum motivo, não podem resolver os executáveis do caminho.

Como posso obter o xargs para executar corretamente o que é passado para ele (sem recorrer a passar o caminho completo para git.exe ?)

    
por gerrod 10.05.2017 / 00:56

1 resposta

1

Eu uso a porta Gnu no Windows das ferramentas Unix e obtenho um problema parecido com isso, mas a mensagem de erro é sempre Invalid argument , eg

> printf "Hello World!" | xargs printf "%s %s"
xargs: printf: Invalid argument

Uma solução parece ser usar o nível extra "indireto" de indireção, por exemplo, um shell como cmd.exe , para realmente invocar o comando:

> printf "Hello World!" | xargs cmd /c printf "%s %s"
Hello World!
    
por 12.09.2018 / 12:59