$EDITOR .config/gtk-2.0/gtkfilechooser.ini
Вы ищете строку SortColumn
и SortOrder
SortColumn=modified
SortOrder=descending
должен дать Вам, чего Вы пытаетесь достигнуть.
Другое решение дало правильное направление. Результат до сих пор:
#!/usr/bin/env bash
while read -r -u 9 date name
do
echo "$date $name"
echo
GIT_PAGER=cat git log --no-merges --committer="$name" --since="$date 00:00:00 +0000" --until="$(date --date="$date + 1 day" +%Y-%m-%d) 00:00:00 +0000" --format=' * [%h] %s'
echo
done 9< <(git log --no-merges --format=$'%cd %cn' --date=short | sort --unique --reverse)
Полуночные времена были необходимы. Это похоже по некоторым причинам, что это использует текущее время вместо запуска дня по умолчанию.
Две проблемы остаются:
Демонстрационный вывод:
2013-02-19 username
* [f97bb5f] commit message
* [f0e419d] looooooooooooooooooooooooooooong commit message
* [070e50f] commit message
2013-02-19 other_user
* ...
2013-02-18 username
* ...
Чтобы заставить это работать под OS X, я сделал несколько небольших изменений в решении l0b0:
git-grouped-log () {
while read -r -u 9 since name
do
until=$(date -j -v+1d -f '%Y-%m-%d' $since +%Y-%m-%d)
echo "$since $name"
echo
GIT_PAGER=cat git log \
--no-merges \
--committer="$name" \
--since="$since 00:00:00 +0000" \
--until="$until 00:00:00 +0000" \
--format=' * [%h] %s'
echo
done 9< <(git log --no-merges --format=$'%cd %cn' --date=short | sort --unique --reverse)
}
Я также обернул это в функцию, потому что тогда я могу сохранить это в произвольном файле.