pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: generate ChangeLog from Git commit messages?


From: Ben Pfaff
Subject: Re: generate ChangeLog from Git commit messages?
Date: Mon, 28 Jul 2008 22:29:35 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

John Darrington <address@hidden> writes:

> On Sun, Jul 27, 2008 at 03:52:30PM -0700, Ben Pfaff wrote:
>      I'm starting to get very tired of editing multiple ChangeLog
>      files, one for every directory that a commit touches.  I'd like
>      to propose that, instead, we write detailed Git commit messages,
>      according to the format suggested in the Git manpages[*], and
>      then generate a single ChangeLog file in a "make dist" hook, as
>      suggested by Jim Meyering:
>              http://www.mail-archive.com/address@hidden/msg09177.html
>      
>      If you guys are OK with this, I'll prepare a commit that renames
>      the existing ChangeLog files to OChangeLog and adds the necessary
>      hook to generate a top-level ChangeLog on "make dist".
>      
> Please do.

Here is a patch for review.

commit d29cd288b45dbe7de526a13050ca6dd830ecf92d
Author: Ben Pfaff <address@hidden>
Date:   Mon Jul 28 22:27:47 2008 -0700

    Start generating ChangeLog automatically from Git commit messages.

diff --git a/.gitignore b/.gitignore
index d5b5884..c29aff4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 ABOUT-NLS
+ChangeLog
 Makefile
 Makefile.in
 aclocal.m4
@@ -30,3 +31,4 @@ pref.h
 reloc-ldflags
 stamp-h1
 texinfo.tex
+gitlog-to-changelog
diff --git a/Makefile.am b/Makefile.am
index 806fc2a..ab32f99 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -27,7 +27,7 @@ all_q_sources =
 pkgsysconfdir = $(sysconfdir)/@PACKAGE@
 
 
-EXTRA_DIST = ONEWS config.rpath pspp-mode.el
+EXTRA_DIST = OChangeLog ONEWS config.rpath pspp-mode.el
 
 CLEANFILES = 
 ACLOCAL_AMFLAGS = -I m4 -I gl/m4
@@ -35,6 +35,17 @@ noinst_LIBRARIES=
 noinst_PROGRAMS=
 check_PROGRAMS=
 bin_PROGRAMS=
+DIST_HOOKS =
+PHONY =
+
+DIST_HOOKS += generate-changelog
+generate-changelog:
+       if test -d $(top_srcdir)/.git; then                     \
+         $(top_srcdir)/gitlog-to-changelog --since=2008-07-27  \
+           > $(distdir)/cl-t;                                  \
+         rm -f $(distdir)/ChangeLog;                           \
+         mv $(distdir)/cl-t $(distdir)/ChangeLog;              \
+       fi
 
 include $(top_srcdir)/lib/automake.mk
 include $(top_srcdir)/doc/automake.mk
@@ -47,3 +58,7 @@ include $(top_srcdir)/tests/automake.mk
 if WITH_GUI_TOOLS
 include $(top_srcdir)/glade/automake.mk
 endif
+
+PHONY += $(DIST_HOOKS)
+dist-hook: $(DIST_HOOKS)
+.PHONY: $(PHONY)
diff --git a/ChangeLog b/OChangeLog
similarity index 100%
rename from ChangeLog
rename to OChangeLog
diff --git a/Smake b/Smake
index aa05962..750ee5c 100644
--- a/Smake
+++ b/Smake
@@ -27,6 +27,7 @@ GNULIB_MODULES = \
        getopt \
        gettext-h \
        gettimeofday \
+       gitlog-to-changelog \
        isfinite \
        intprops \
        inttostr \
@@ -82,12 +83,13 @@ GNULIB_MODULES = \
        xvasprintf
 
 all: po/POTFILES.in
+       test -e ChangeLog || touch ChangeLog
        test -d m4 || mkdir m4
        echo '*' > m4/.cvsignore
        touch m4/Makefile.am
        $(GNULIB_TOOL) --import --no-changelog --m4-base=gl/m4 \
                --source-base=gl --lib=libgl --tests-base=tests \
-               --doc-base=gl/doc --import $(GNULIB_MODULES)
+               --doc-base=gl/doc --aux-dir=. --import $(GNULIB_MODULES)
        echo '*' > gl/.cvsignore
        echo '*' > gl/m4/.cvsignore
        libtoolize --force --automake
diff --git a/config/ChangeLog b/config/OChangeLog
similarity index 100%
rename from config/ChangeLog
rename to config/OChangeLog
diff --git a/config/automake.mk b/config/automake.mk
index ba01a39..88b63ac 100644
--- a/config/automake.mk
+++ b/config/automake.mk
@@ -18,3 +18,5 @@ dist_psfonts_DATA = \
        config/psfonts/Helvetica.afm \
        config/psfonts/Times-Roman.afm \
        config/psfonts/Courier.afm
+
+EXTRA_DIST += config/OChangeLog
diff --git a/doc/ChangeLog b/doc/OChangeLog
similarity index 100%
rename from doc/ChangeLog
rename to doc/OChangeLog
diff --git a/doc/automake.mk b/doc/automake.mk
index 0ebd8fc..fa6e8b0 100644
--- a/doc/automake.mk
+++ b/doc/automake.mk
@@ -60,3 +60,5 @@ install-data-hook:: $(YELP_CHECK)
 uninstall-hook::
        rm -f $(DESTDIR)$(infodir)/pspp.info-[0-9].gz
        rm -f $(DESTDIR)$(infodir)/pspp.info.gz
+
+EXTRA_DIST += doc/OChangeLog
diff --git a/examples/ChangeLog b/examples/OChangeLog
similarity index 100%
rename from examples/ChangeLog
rename to examples/OChangeLog
diff --git a/examples/automake.mk b/examples/automake.mk
index 641e428..cdbec4b 100644
--- a/examples/automake.mk
+++ b/examples/automake.mk
@@ -4,3 +4,5 @@ EXTRA_DIST += \
        examples/descript.stat \
        examples/regress.stat \
        examples/regress_categorical.stat
+
+EXTRA_DIST += examples/OChangeLog
diff --git a/glade/ChangeLog b/glade/OChangeLog
similarity index 100%
rename from glade/ChangeLog
rename to glade/OChangeLog
diff --git a/glade/automake.mk b/glade/automake.mk
index 6021eec..7827516 100644
--- a/glade/automake.mk
+++ b/glade/automake.mk
@@ -46,3 +46,5 @@ libglade_psppire_la_CFLAGS = $(GLADE_UI_CFLAGS) 
$(GLADE_CFLAGS) \
        -I $(top_srcdir)/src/ui/gui -DDEBUGGING
 
 libglade_psppire_la_LIBADD = gl/libgl.la
+
+EXTRA_DIST += glade/OChangeLog
diff --git a/lib/ChangeLog b/lib/OChangeLog
similarity index 100%
rename from lib/ChangeLog
rename to lib/OChangeLog
diff --git a/lib/automake.mk b/lib/automake.mk
index 440a859..6410988 100644
--- a/lib/automake.mk
+++ b/lib/automake.mk
@@ -5,3 +5,5 @@ include $(top_srcdir)/lib/linreg/automake.mk
 if WITHGUI
 include $(top_srcdir)/lib/gtksheet/automake.mk
 endif
+
+EXTRA_DIST += lib/OChangeLog
diff --git a/lib/gtksheet/ChangeLog b/lib/gtksheet/OChangeLog
similarity index 100%
rename from lib/gtksheet/ChangeLog
rename to lib/gtksheet/OChangeLog
diff --git a/lib/gtksheet/automake.mk b/lib/gtksheet/automake.mk
index c98037a..babcb2a 100644
--- a/lib/gtksheet/automake.mk
+++ b/lib/gtksheet/automake.mk
@@ -27,3 +27,5 @@ lib_gtksheet_libgtksheet_a_SOURCES = \
        lib/gtksheet/gtkitementry.c \
        lib/gtksheet/gtksheet.c \
        lib/gtksheet/gtksheet.h 
+
+EXTRA_DIST += lib/gtksheet/OChangeLog
diff --git a/lib/linreg/ChangeLog b/lib/linreg/OChangeLog
similarity index 100%
rename from lib/linreg/ChangeLog
rename to lib/linreg/OChangeLog
diff --git a/lib/linreg/automake.mk b/lib/linreg/automake.mk
index d65df86..650646c 100644
--- a/lib/linreg/automake.mk
+++ b/lib/linreg/automake.mk
@@ -4,3 +4,5 @@ noinst_LIBRARIES += lib/linreg/liblinreg.a
 
 lib_linreg_liblinreg_a_SOURCES = \
        lib/linreg/sweep.c  lib/linreg/sweep.h 
+
+EXTRA_DIST += lib/linreg/OChangeLog
diff --git a/src/ChangeLog b/src/OChangeLog
similarity index 100%
rename from src/ChangeLog
rename to src/OChangeLog
diff --git a/src/automake.mk b/src/automake.mk
index 7c52887..1ffbdf3 100644
--- a/src/automake.mk
+++ b/src/automake.mk
@@ -11,3 +11,5 @@ include $(top_srcdir)/src/language/automake.mk
 include $(top_srcdir)/src/ui/automake.mk
 
 AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/lib 
-DPKGDATADIR=\"$(pkgdatadir)\"
+
+EXTRA_DIST += src/OChangeLog
diff --git a/src/data/ChangeLog b/src/data/OChangeLog
similarity index 100%
rename from src/data/ChangeLog
rename to src/data/OChangeLog
diff --git a/src/data/automake.mk b/src/data/automake.mk
index 064d668..a6d1858 100644
--- a/src/data/automake.mk
+++ b/src/data/automake.mk
@@ -103,3 +103,5 @@ src_data_libdata_a_SOURCES = \
        src/data/variable.c \
        src/data/vector.c \
        src/data/vector.h
+
+EXTRA_DIST += src/data/OChangeLog
diff --git a/src/language/ChangeLog b/src/language/OChangeLog
similarity index 100%
rename from src/language/ChangeLog
rename to src/language/OChangeLog
diff --git a/src/language/automake.mk b/src/language/automake.mk
index 4b467de..d5ebb10 100644
--- a/src/language/automake.mk
+++ b/src/language/automake.mk
@@ -40,3 +40,5 @@ nodist_src_language_liblanguage_a_SOURCES = \
        $(src_language_stats_built_sources)  \
        $(language_tests_built_sources) \
        $(expressions_built_sources)
+
+EXTRA_DIST += src/language/OChangeLog
diff --git a/src/language/control/ChangeLog b/src/language/control/OChangeLog
similarity index 100%
rename from src/language/control/ChangeLog
rename to src/language/control/OChangeLog
diff --git a/src/language/control/automake.mk b/src/language/control/automake.mk
index 89ff7fe..e12813a 100644
--- a/src/language/control/automake.mk
+++ b/src/language/control/automake.mk
@@ -10,3 +10,4 @@ language_control_sources = \
        src/language/control/repeat.c \
        src/language/control/repeat.h
 
+EXTRA_DIST += src/language/control/OChangeLog
diff --git a/src/language/data-io/ChangeLog b/src/language/data-io/OChangeLog
similarity index 100%
rename from src/language/data-io/ChangeLog
rename to src/language/data-io/OChangeLog
diff --git a/src/language/data-io/automake.mk b/src/language/data-io/automake.mk
index 9cb6b83..db209be 100644
--- a/src/language/data-io/automake.mk
+++ b/src/language/data-io/automake.mk
@@ -26,3 +26,4 @@ all_q_sources += $(src_language_data_io_built_sources:.c=.q)
 EXTRA_DIST += $(src_language_data_io_built_sources:.c=.q)
 CLEANFILES += $(src_language_data_io_built_sources)
 
+EXTRA_DIST += src/language/data-io/OChangeLog
diff --git a/src/language/dictionary/ChangeLog 
b/src/language/dictionary/OChangeLog
similarity index 100%
rename from src/language/dictionary/ChangeLog
rename to src/language/dictionary/OChangeLog
diff --git a/src/language/dictionary/automake.mk 
b/src/language/dictionary/automake.mk
index a33a84f..825832a 100644
--- a/src/language/dictionary/automake.mk
+++ b/src/language/dictionary/automake.mk
@@ -17,3 +17,4 @@ language_dictionary_sources = \
  src/language/dictionary/variable-display.c \
  src/language/dictionary/weight.c
 
+EXTRA_DIST += src/language/dictionary/OChangeLog
diff --git a/src/language/expressions/ChangeLog 
b/src/language/expressions/OChangeLog
similarity index 100%
rename from src/language/expressions/ChangeLog
rename to src/language/expressions/OChangeLog
diff --git a/src/language/expressions/automake.mk 
b/src/language/expressions/automake.mk
index 630445d..bc4e830 100644
--- a/src/language/expressions/automake.mk
+++ b/src/language/expressions/automake.mk
@@ -37,3 +37,5 @@ generate_from_pl = $(MKDIR_P) `dirname address@hidden && \
 
 .inc.pl.inc:
        $(generate_from_pl)
+
+EXTRA_DIST += src/language/expressions/OChangeLog
diff --git a/src/language/lexer/ChangeLog b/src/language/lexer/OChangeLog
similarity index 100%
rename from src/language/lexer/ChangeLog
rename to src/language/lexer/OChangeLog
diff --git a/src/language/lexer/automake.mk b/src/language/lexer/automake.mk
index f8d6996..e0efbb6 100644
--- a/src/language/lexer/automake.mk
+++ b/src/language/lexer/automake.mk
@@ -21,3 +21,5 @@ src/language/lexer/q2c$(EXEEXT_FOR_BUILD): 
$(top_srcdir)/src/language/lexer/q2c.
 
 
 CLEANFILES += src/language/lexer/q2c$(EXEEXT_FOR_BUILD)
+
+EXTRA_DIST += src/language/lexer/OChangeLog
diff --git a/src/language/stats/ChangeLog b/src/language/stats/OChangeLog
similarity index 100%
rename from src/language/stats/ChangeLog
rename to src/language/stats/OChangeLog
diff --git a/src/language/stats/automake.mk b/src/language/stats/automake.mk
index 10738fd..d60cb0d 100644
--- a/src/language/stats/automake.mk
+++ b/src/language/stats/automake.mk
@@ -37,3 +37,4 @@ all_q_sources += $(src_language_stats_built_sources:.c=.q)
 EXTRA_DIST += $(src_language_stats_built_sources:.c=.q)
 CLEANFILES += $(src_language_stats_built_sources)
 
+EXTRA_DIST += src/language/stats/OChangeLog
diff --git a/src/language/tests/ChangeLog b/src/language/tests/OChangeLog
similarity index 100%
rename from src/language/tests/ChangeLog
rename to src/language/tests/OChangeLog
diff --git a/src/language/tests/automake.mk b/src/language/tests/automake.mk
index 5a54239..00fcab3 100644
--- a/src/language/tests/automake.mk
+++ b/src/language/tests/automake.mk
@@ -15,3 +15,5 @@ language_tests_sources = \
 all_q_sources += $(language_tests_built_sources:.c=.q)
 EXTRA_DIST += $(language_tests_built_sources:.c=.q)
 CLEANFILES += $(language_tests_built_sources)
+
+EXTRA_DIST += src/language/tests/OChangeLog
diff --git a/src/language/utilities/ChangeLog 
b/src/language/utilities/OChangeLog
similarity index 100%
rename from src/language/utilities/ChangeLog
rename to src/language/utilities/OChangeLog
diff --git a/src/language/utilities/automake.mk 
b/src/language/utilities/automake.mk
index 5f66102..c4ca92b 100644
--- a/src/language/utilities/automake.mk
+++ b/src/language/utilities/automake.mk
@@ -16,3 +16,5 @@ all_q_sources += $(src_language_utilities_built_sources:.c=.q)
 EXTRA_DIST += $(src_language_utilities_built_sources:.c=.q)
 CLEANFILES += $(src_language_utilities_built_sources)
 
+
+EXTRA_DIST += src/language/utilities/OChangeLog
diff --git a/src/language/xforms/ChangeLog b/src/language/xforms/OChangeLog
similarity index 100%
rename from src/language/xforms/ChangeLog
rename to src/language/xforms/OChangeLog
diff --git a/src/language/xforms/automake.mk b/src/language/xforms/automake.mk
index d0fe1cb..ddb1021 100644
--- a/src/language/xforms/automake.mk
+++ b/src/language/xforms/automake.mk
@@ -8,3 +8,5 @@ language_xforms_sources = \
        src/language/xforms/sample.c \
        src/language/xforms/recode.c \
        src/language/xforms/select-if.c
+
+EXTRA_DIST += src/language/xforms/OChangeLog
diff --git a/src/libpspp/ChangeLog b/src/libpspp/OChangeLog
similarity index 100%
rename from src/libpspp/ChangeLog
rename to src/libpspp/OChangeLog
diff --git a/src/libpspp/automake.mk b/src/libpspp/automake.mk
index a697e40..a0d7879 100644
--- a/src/libpspp/automake.mk
+++ b/src/libpspp/automake.mk
@@ -91,3 +91,5 @@ src/libpspp/version.c: $(top_srcdir)/AUTHORS
        sed -e 's/^/  \"/' -e 's/$$/\",/' $(top_srcdir)/AUTHORS >> $@
        echo "0 };" >> $@
 
+
+EXTRA_DIST += src/libpspp/OChangeLog
diff --git a/src/math/ChangeLog b/src/math/OChangeLog
similarity index 100%
rename from src/math/ChangeLog
rename to src/math/OChangeLog
diff --git a/src/math/automake.mk b/src/math/automake.mk
index 2c25686..107a985 100644
--- a/src/math/automake.mk
+++ b/src/math/automake.mk
@@ -29,3 +29,5 @@ src_math_libpspp_math_a_SOURCES = \
        src/math/design-matrix.c src/math/design-matrix.h \
        src/math/random.c src/math/random.h \
        src/math/sort.c src/math/sort.h 
+
+EXTRA_DIST += src/math/OChangeLog
diff --git a/src/math/time-series/ChangeLog b/src/math/time-series/ChangeLog
deleted file mode 100644
index 07cb6f4..0000000
--- a/src/math/time-series/ChangeLog
+++ /dev/null
@@ -1,8 +0,0 @@
-2006-06-04  Jason Stover  <address@hidden>
-
-       * innovations.c (get_covariance): Initial version
-
-2006-05-25  Jason Stover  <address@hidden>
-
-       * innovations.c:  New file
-
diff --git a/src/math/ts/ChangeLog b/src/math/ts/OChangeLog
similarity index 100%
rename from src/math/ts/ChangeLog
rename to src/math/ts/OChangeLog
diff --git a/src/math/ts/automake.mk b/src/math/ts/automake.mk
index ffc7967..2ca1f95 100644
--- a/src/math/ts/automake.mk
+++ b/src/math/ts/automake.mk
@@ -5,3 +5,5 @@ noinst_LIBRARIES += src/math/ts/libpspp_ts.a
 src_math_ts_libpspp_ts_a_SOURCES = \
        src/math/ts/innovations.c \
        src/math/ts/innovations.h
+
+EXTRA_DIST += src/math/ts/OChangeLog
diff --git a/src/output/ChangeLog b/src/output/OChangeLog
similarity index 100%
rename from src/output/ChangeLog
rename to src/output/OChangeLog
diff --git a/src/output/automake.mk b/src/output/automake.mk
index 78898f4..d30acf6 100644
--- a/src/output/automake.mk
+++ b/src/output/automake.mk
@@ -32,4 +32,4 @@ src_output_liboutput_a_SOURCES = $(output_sources) 
src/output/dummy-chart.c
 EXTRA_DIST += src/output/chart.c
 endif
 
-
+EXTRA_DIST += src/output/OChangeLog
diff --git a/src/output/charts/ChangeLog b/src/output/charts/OChangeLog
similarity index 100%
rename from src/output/charts/ChangeLog
rename to src/output/charts/OChangeLog
diff --git a/src/output/charts/automake.mk b/src/output/charts/automake.mk
index f1d7126..a480de6 100644
--- a/src/output/charts/automake.mk
+++ b/src/output/charts/automake.mk
@@ -30,3 +30,5 @@ EXTRA_DIST += $(chart_sources)
 AM_CPPFLAGS += -DNO_CHARTS
 
 endif
+
+EXTRA_DIST += src/output/charts/OChangeLog
diff --git a/src/ui/ChangeLog b/src/ui/OChangeLog
similarity index 100%
rename from src/ui/ChangeLog
rename to src/ui/OChangeLog
diff --git a/src/ui/automake.mk b/src/ui/automake.mk
index 18b6914..044c293 100644
--- a/src/ui/automake.mk
+++ b/src/ui/automake.mk
@@ -13,3 +13,5 @@ src_ui_libuicommon_a_SOURCES = \
        src/ui/debugger.h \
        src/ui/syntax-gen.c \
        src/ui/syntax-gen.h
+
+EXTRA_DIST += src/ui/OChangeLog
diff --git a/src/ui/gui/ChangeLog b/src/ui/gui/OChangeLog
similarity index 100%
rename from src/ui/gui/ChangeLog
rename to src/ui/gui/OChangeLog
diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk
index 2d149fc..64fe75e 100644
--- a/src/ui/gui/automake.mk
+++ b/src/ui/gui/automake.mk
@@ -218,4 +218,6 @@ yelp-check:
                echo '    Yelp is available from the GNOME project.  
ftp://ftp.gnome.org/pub/gnome/sources/yelp' ; \
                echo ; \
        fi
-.PHONY: yelp-check
+PHONY += yelp-check
+
+EXTRA_DIST += src/ui/gui/OChangeLog
diff --git a/src/ui/terminal/ChangeLog b/src/ui/terminal/OChangeLog
similarity index 100%
rename from src/ui/terminal/ChangeLog
rename to src/ui/terminal/OChangeLog
diff --git a/src/ui/terminal/automake.mk b/src/ui/terminal/automake.mk
index 34bed5a..928716c 100644
--- a/src/ui/terminal/automake.mk
+++ b/src/ui/terminal/automake.mk
@@ -45,3 +45,5 @@ src_ui_terminal_pspp_LDFLAGS = $(PG_LDFLAGS)
 if RELOCATABLE_VIA_LD
 src_ui_terminal_pspp_LDFLAGS += `$(RELOCATABLE_LDFLAGS) $(bindir)`
 endif
+
+EXTRA_DIST += src/ui/terminal/OChangeLog
diff --git a/tests/ChangeLog b/tests/OChangeLog
similarity index 100%
rename from tests/ChangeLog
rename to tests/OChangeLog
diff --git a/tests/automake.mk b/tests/automake.mk
index 1dd7832..6fb11d0 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -311,8 +311,11 @@ EXTRA_DIST += \
 
 CLEANFILES += *.save pspp.* foo*
 
-dist-hook:
+DIST_HOOKS += check-for-export-var-val
+check-for-export-var-val:
        @if grep -q 'export .*=' $(dist_TESTS) ; then \
         echo 'One or more tests contain non-portable "export VAR=val" syntax' 
; \
         false ; \
        fi
+
+EXTRA_DIST += tests/OChangeLog

-- 
"While the Melissa license is a bit unclear, Melissa aggressively
 encourages free distribution of its source code."
--Kevin Dalley <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]