Показать только измененные строки без синтаксиса с помощью git diff

Вам нужно будет написать некоторый код C, как описано в документе ядра .

#include 
struct serial_rs485 rs485conf = {0};

int fd = open ("/dev/ttyACM0", O_RDWR);
if (fd < 0)...
rs485conf.flags |= SER_RS485_ENABLED;
if (ioctl (fd, TIOCSRS485, &rs485conf) < 0)...

0
15.06.2018, 12:48
2 ответа

Podría grep la salida diff combinando lookahead/lookbehind:

git diff --unified=0 | grep -Po '(?<=^\+)(?!\+\+).*'
  • (?<=^\+)es una mirada retrospectiva positiva para la línea que comienza con+
  • (?!\+\+)es una búsqueda anticipada negativa para evitar que coincidan los encabezados de los archivos que comienzan con +++ a/path/to/file.

La opción --unified=0git solo está ahí para reducir el número de líneas para filtrar y eliminar el contexto diferencial, aunque es opcional.

Probablemente haya algo mejor, no hablo PCRE con fluidez.

4
28.01.2020, 02:18

Tomando prestado --unified=0de la respuesta de kaiko llegué a:

git diff HEAD^ HEAD --unified=0 | tail +6 | sed -e 's/^\+//'
2
28.01.2020, 02:18

Теги

Похожие вопросы