Ok, eu descobri este aqui.
Percebi que a primeira linha do arquivo contém uma string curiosa:
% head -n 1 my_git_repo | strings
X11 forwarding request failed on channel 0
Essa string parece familiar. Minha configuração SSH padrão tenta encaminhar as conexões X11, mas quando não o fizer - como ao executar as operações git para git servidores em ssh - essa string é impressa em stderr:
$ git archive --remote=ssh://[email protected]/my_git_repo.git master > my_git_repo.tar
X11 forwarding request failed on channel 0
Eu estou supondo que a biblioteca que criou o arquivo git capturou stdout e stderr ao invés de apenas stdout, o que explicaria como a primeira linha daquele arquivo surgiu.
Portanto, se eu remover a primeira linha desse arquivo, obtenho uma saída muito mais razoável de file (1)
:
$ tail -n +2 my_git_repo > my_git_repo.edit
$ file my_git_repo.edit
my_git_repo.edit: Zip archive data, at least v1.0 to extract
E se eu renomear o arquivo para my_git_repo.zip
e tentar visualizar o conteúdo do arquivo com unzip -l
, eu acho que ele contém os arquivos que eu espero, e quando eu extraio o arquivo com unzip
, recebo os arquivos que eu quero.
Não tenho certeza de onde libmagic
teve a ideia de que esse arquivo era um "X1 archive" para começar, mas suponho que tenha a ver com "X1" sendo os dois primeiros caracteres do arquivo corrompido .