現在の変更ログを生成するコードは次のとおりです。
svn2cl --linelen 78 --reparagraph --include-rev --group-by-day
私が得ることができる最も近いバニラオプションは
git shortlog --format='* [%h] %s' -w78,8,10
svn2cl
出力をできるだけ近くにシミュレートするにはどうすればよいですか?
出力例:
2013-02-19 username
* [r30695] path1: commit message
* [r30691] path2, path3, path4: looooooooooooooooooooooooooooong
commit message
* [r30690] path1, path3: commit message
2013-02-19 other_user
* ...
2013-02-18 username
* ...
2つの問題が残っています。
- メッセージをコミットする前に人が読めるパスのリストが含まれています。
- 長いコミットメッセージをきれいに印刷する
ベストアンサー1
別のソリューション正しい方向が与えられた。これまでの結果:
#!/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)
真夜中の時間が必要です。何らかの理由で、基本的に1日の開始時刻ではなく現在時刻が設定されているようです。
2つの問題が残っています。
- メッセージをコミットする前に人が読めるパスのリストが含まれています。
- 長いコミットメッセージをきれいに印刷する
出力例:
2013-02-19 username
* [f97bb5f] commit message
* [f0e419d] looooooooooooooooooooooooooooong commit message
* [070e50f] commit message
2013-02-19 other_user
* ...
2013-02-18 username
* ...