git --diff como comando para diretórios locais do Linux

2

dir1 tem 1 arquivo e dir2 tem 2 arquivos conforme abaixo:

/tmp$ ls dir1
file1
/tmp$ cat dir1/file1 
line1
line2
line3
/tmp$ ls dir2
file1  file2
/tmp$ cat dir2/file1 
line1
/tmp$ cat dir2/file2
line1
/tmp$ diff -ur dir1 dir2 | diffstat
 file1 |    2 --
 file2 |only
 2 files changed, 2 deletions(-)

Eu estou procurando um comando para imprimir as linhas em dir2 novos arquivos como inserções (+)

dir2 / file2 tem uma linha, por isso estou procurando imprimir

2 files changed, 2 deletions(-), 1 insertions(+)

Esta questão é relevante para Diferença de sumarry de estatísticas de diretório (git diff --stat like para repo não-git)

Obrigado!

    
por rodee 24.10.2015 / 00:38

2 respostas

3

Você precisa usar a opção -N (tratar arquivos ausentes como vazios) para diff . Por exemplo:

$ diff -N -u -r dir1/ dir2/ | diffstat 
 file1 |    2 --
 file2 |    1 +
 2 files changed, 1 insertion(+), 2 deletions(-)
    
por 24.10.2015 / 02:05
0

Você já tentou usar diff ? diff -u dir1 dir2

Se você tiver uma GUI, confira kompare (às vezes em kdesdk RPM) e / ou meld para algo muito mais agradável.

    
por 24.10.2015 / 02:04

Tags