git: changelog giorno per giorno




bash logging (4)

Ciò richiederebbe sicuramente un qualche tipo di sceneggiatura.
Un po 'come questa commandline-fu

for k in `git branch|perl -pe s/^..//`;do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k|head -n 1`\\t$k;done|sort -r

(non esattamente quello che stai cercando, ma può comunque darti un'idea)

Conosco GitStats che ha anche dati organizzati per data (ma non per i messaggi di commit)

Nota: la parte di git branch di questo comando non è adatta per lo scripting, come commenta Jakub Narębski .
git for-each-ref o git show-ref sono candidati naturali per i comandi di scripting, essendo comandi idraulici .

Come generare il log delle modifiche accumulato per data, in formato:

[date today]
- commit message1
- commit message2
- commit message3
...
[date day+3]
- commit message1
- commit message2
- commit message3
...
(skip this day if no commits)

[date day+1]
- commit message1
- commit message2
- commit message3
... 
[date since]
- commit message1
- commit message2
- commit message3

Qualsiasi comando git log o smart bash script?



Qui è sporco, ma la versione funzionante della sceneggiatura mi è venuta in mente:

#!/bin/bash
# Generates changelog day by day
NEXT=$(date +%F)
echo "CHANGELOG"
echo ----------------------
git log --no-merges --format="%cd" --date=short | sort -u -r | while read DATE ; do
    echo
    echo [$DATE]
    GIT_PAGER=cat git log --no-merges --format=" * %s" --since=$DATE --until=$NEXT
    NEXT=$DATE
done

git log ha --since e --until , non dovrebbe essere difficile avvolgere alcune cose in giro.







changelog