Мерзавец - получает все фиксации и блобы, которые они создали

Я не думаю, что вы сможете сделать это с помощью простого макроса, но вы можете заставить его работать с надстройкой.

Надстройка будет:

  • Trap-события, в частности событие SelectionChanged.

  • Каждый раз, когда происходит событие, код обработки события сравнивает текущее время со временем его последнего срабатывания (сохраняется в статической переменной).

  • Если с момента последнего события прошло более x минут, сохраняется презентация и сбрасывается время последнего запуска.

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

Еще одно уточнение: до или после проверки разницы во времени проверьте свойство презентации .Saved. Если True, то в презентации ничего не изменилось, поэтому, опять же, нет причин для сохранения.

16
задан tig 15 March 2011 в 20:45
поделиться

2 ответа

Чтобы получить коммиты (все и выводить одну строку для каждого коммита):

git rev-list --all --pretty=oneline

Затем разделите коммиты по пробелу с лимитом 2 и получите каждый идентификатор и сообщение фиксации

Чтобы получить капли, созданные с помощью commit (рекурсивный переход к подкаталогам, отображение коммитов слияния, обнаружение переименований и копий, не показывать идентификатор фиксации в первой строке):

git diff-tree -r -c -M -C --no-commit-id <commit-sha>

Небольшой анализ каждой строки и исключение некоторых из них - и мы получаем список новых BLOB-объектов и они путь для фиксации

Последний - получение размеров blob:

git cat-file --batch-check < <list-of-blob-shas>

И в другой раз небольшой анализ

26
ответ дан 30 November 2019 в 15:48
поделиться

Вы можете получить все, кроме размера из коробки. Этот довольно близко:

git log --name-status
5
ответ дан 30 November 2019 в 15:48
поделиться
Другие вопросы по тегам:

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