Gitwatch: Добавить опцию для включения (усеченной) разницы в сообщение фиксации

Созданный на 28 нояб. 2012  ·  7Комментарии  ·  Источник: gitwatch/gitwatch

Поскольку это реализовано в одноразовой версии на ibrahima / gitwatch @ 0163ec5 и указано @ibrahima в комментариях к этой фиксации, для некоторых вариантов использования было бы неплохо иметь возможность включить diff в сообщение фиксации.

Опуская такие вещи, как имя файла, и усекая его до стандартной максимальной длины сообщения git "short", состоящей из 80 символов, это должно аккуратно сочетаться с изменениями, которые обычно изменяют только один файл.

Опция также может уловить случай, когда несколько файлов были изменены, и в этом случае не был включен фактический diff, а вместо этого было что-то вроде «Несколько файлов изменены, diff пропущен».

help wanted

Самый полезный комментарий

@mlncn Если вы попробуете мой запрос на https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), вы сможете увидеть имена файлов (с графиком изменений) как зафиксировать сообщение с помощью gitwatch -l 1 ~/myproject .

Все 7 Комментарий

вы можете реализовать переключатель параметров (например, -d / - diff), чтобы включить это, и дополнительный переключатель, который нужно установить после того, сколько символов должно быть усечено (по умолчанию должно быть 80)

Это кажется разумным способом сделать это.

Последнее, что я проверял, не было _хорошего_ способа использовать длинные переключатели параметров (--diff) в bash (есть несколько разумных способов, ни один из которых я не считаю элегантным, но сценарии bash редко бывают элегантными;)). Так как это bash, я, вероятно, выбрал бы getopts и просто переключился бы на один символ, хотя есть способ делать длинные параметры, которые зависят от нестандартного поведения или чего-то в этом роде. Также есть GNU getopt, который поддерживает длинные параметры, но это может быть менее переносимым решением и выглядит немного уродливее. В любом случае, на данный момент вам, вероятно, все это не важно, поскольку до сих пор gitwatch не принимает никаких вариантов, кроме пути, но я думаю, что вам решать, что вы об этом думаете. Раньше я работал с getopts, это довольно просто и встроено в bash.

Я предполагаю, что другой вопрос заключается в том, как обрезать и хотите ли вы включать символы + - и хотите ли вы также имена файлов. Может быть, есть несколько опций, которые добавляют к сообщению различные компоненты (усеченная разница, измененные файлы, текущее сообщение автоматической фиксации и т. Д.).

Мы представили несколько коротких опций в тестовой ветке, используя getopts в bash. Но вы правы, если нет "хорошего" способа использовать длинные варианты, то пока подойдут короткие.

На данный момент просто добавьте сообщение diff до того, как подойдет остальная часть сообщения фиксации. Пользователи могут достаточно легко изменить сценарий, если они предпочитают другой тип сообщения о фиксации. Если бы вы могли вытащить ветку тестирования и добавить туда опцию и обработку, это было бы здорово: D

Похоже, здесь был достигнут значительный прогресс. Если кто-то захочет вернуться к этому и завершить его, я буду рад рассмотреть возможность слияния.

На самом деле я ищу что-то подобное, но хочу включить в сообщение фиксации только имя файла. Это, наверное, проще или уже есть способ сделать это?

@dmusican Мне тоже нужна эта функция, поэтому я реализовал ее и создал для нее запрос на https://github.com/gitwatch/gitwatch/pull/54
Кроме того, поскольку вы можете установить количество строк, которые отображаются как «git diff» и «git diff --stat», использование «-l 1» вызовет функциональность, которую кто-то пытался реализовать в старом запросе на перенос https: // github.com/gitwatch/gitwatch/pull/23/commit/af28cf4a87c71cdb9da7046d40ea9542a4661f43

@mlncn Если вы попробуете мой запрос на https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), вы сможете увидеть имена файлов (с графиком изменений) как зафиксировать сообщение с помощью gitwatch -l 1 ~/myproject .

Запрос на извлечение объединен. Большое спасибо, @shervinemami .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги