2011-09-16 11 views
29

Combinando svn diff --ignore-EOL-stile e --ignore-all-spazio non sta funzionando:Come posso ignorare le modifiche eol e tutto lo spazio bianco in svn?

$ svn diff -x -w --ignore-eol-style -r 1143:1177 somefile 
svn: invalid option: --ignore-eol-style 

E,

$ svn diff -x --ignore-eol-style -x --ignore-all-space -r 1143:1177 somefile 

esegue solo l'ultima opzione: ignore-All- space

Qualcuno ha avuto a che fare con questo prima?

risposta

41

Il comando svn sembra per onorare solo un'opzione-x. Ciò significa, è necessario/possibile combinare tutte opzioni in uno argomento:

svn diff -x "-w --ignore-eol-style" 

Non ho prove se questo è vero anche per diff-strumenti esterni.

+2

Esattamente quello di cui avevo bisogno! –

+1

Se si ottiene 'diff: opzione non riconosciuta '--ignore-eol-style'', utilizzare invece il modulo breve:' svn diff -x -w' – Lucas

+1

Quando si desidera sopprimere qualsiasi newline introdotta o rimossa, è necessario utilizzare un esterno programma diff e aggiungere alcune opzioni 'svn diff --diff-cmd '/ usr/bin/diff' -x '-u --ignore-all-space --ignore-blank-lines' percorso1 percorso2' (-u dà il stile unificato come fa svn diff) –

1

È possibile utilizzare lo strumento di differenziazione esterno con le opzioni appropriate (opzione diff-cmd in configurazione SVN). Controllare this. Quindi hai la libertà di impostare qualsiasi strumento diff e fornire argomenti ad esso. È inoltre possibile utilizzare direttamente:

svn diff --diff-cmd /usr/bin/diff --extensions "-b" -r 1143:1177 somefile 

dove -b di ignorare lo spazio bianco alla fine linea e prendere in considerazione tutte le altre sequenze di uno o più caratteri spazio bianco per essere equivalente,

Problemi correlati