git não consegue adicionar o arquivo do dispositivo?

1

git não consegue enviar um arquivo de dispositivo? No sistema Linux.

Por exemplo:

git clone [email protected]:/blah.git
cd blah 
sudo cp -af /dev/ttyS0 .
git add .
git commit

git msg:

# On branch master
nothing to commit (working directory clean)

ls -ashl result:

   0 crw-rw----  1 c2h2 c2h2 4, 64 Jun 24 14:23 ttyS0

É possível fazer isso?

    
por c2h2 24.06.2012 / 11:47

1 resposta

4

Não, o Git não rastreará arquivos de dispositivos (atualmente). Aqui está um comentário da função dir.c , read_directory_recursive (v1.7.8.5) que é usado quando você faz git add . :

 * Read a directory tree. We currently ignore anything but
 * directories, regular files and symlinks. That's because git
 * doesn't handle them at all yet. Maybe that will change some
 * day.

O Git rastreia o conteúdo, não os arquivos. Então, tentar rastrear arquivos de dispositivos não se encaixa - eles não têm conteúdo tradicional.

Uma abordagem que funcionaria é criar um script que crie / "instale" os arquivos do dispositivo que seu aplicativo / projeto precisa (incluindo fifos ou qualquer outra coisa que você possa precisar). O Git pode rastrear isso de forma muito eficaz, e é uma forma prática de ter um instalador (ou para outras pessoas usando sua árvore).

    
por 24.06.2012 / 12:34

Tags