bug-bison
[Top][All Lists]
Advanced

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

[PATCH] maint: generate ChangeLog from git log


From: Jim Meyering
Subject: [PATCH] maint: generate ChangeLog from git log
Date: Thu, 19 Jan 2012 09:36:52 +0100

I pushed the preceding changes without ChangeLog entries
knowing that this change will ensure that their git log
entries will make it into the distribution tarball's ChangeLog file.

Please don't push a commit with a ChangeLog entry before this
commit is pushed.

>From 098882421d873ce8035ba6f6dd69770528d80f01 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Thu, 19 Jan 2012 09:07:02 +0100
Subject: [PATCH] maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.
---
 .gitignore                   |    3 +--
 OChangeLog => ChangeLog-1998 |    0
 ChangeLog => ChangeLog-2012  |    0
 Makefile.am                  |   17 ++++++++++++++---
 bootstrap.conf               |    6 +++++-
 build-aux/.gitignore         |    3 +--
 build-aux/git-log-fix        |    3 +++
 7 files changed, 24 insertions(+), 8 deletions(-)
 rename OChangeLog => ChangeLog-1998 (100%)
 rename ChangeLog => ChangeLog-2012 (100%)
 create mode 100644 build-aux/git-log-fix

diff --git a/.gitignore b/.gitignore
index 27f9b06..a2ac6ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-
 /*.cache
 /*.flc
 /*.prj
@@ -7,6 +6,7 @@
 /.version
 /ABOUT-NLS
 /COPYING
+/ChangeLog
 /GNUmakefile
 /INSTALL
 /Makefile
@@ -31,4 +31,3 @@
 /patches
 /releases
 /stamp-h*
-
diff --git a/OChangeLog b/ChangeLog-1998
similarity index 100%
rename from OChangeLog
rename to ChangeLog-1998
diff --git a/ChangeLog b/ChangeLog-2012
similarity index 100%
rename from ChangeLog
rename to ChangeLog-2012
diff --git a/Makefile.am b/Makefile.am
index 2a9ad2b..097a634 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -27,8 +27,7 @@ aclocaldir = @aclocaldir@
 aclocal_DATA = m4/bison-i18n.m4

 EXTRA_DIST = .prev-version .version \
-  cfg.mk \
-  OChangeLog PACKAGING
+  cfg.mk ChangeLog-1998 ChangeLog-2012 PACKAGING

 # Initialization before completion by local.mk's.
 AM_CFLAGS = $(WARN_CFLAGS)
@@ -62,7 +61,7 @@ include tests/local.mk
 BUILT_SOURCES += $(top_srcdir)/.version
 $(top_srcdir)/.version: configure
        echo $(VERSION) > address@hidden && mv address@hidden $@
-dist-hook:
+dist-hook: gen-ChangeLog
        echo $(VERSION) > $(distdir)/.tarball-version

 .PHONY: update-b4-copyright update-package-copyright-year
@@ -73,3 +72,15 @@ update-b4-copyright:
        @echo 'warning: src/parse-gram.[hc] may need to be regenerated.'
 update-package-copyright-year:
        $(build_aux)/$@ configure.ac
+
+gen_start_date = 2012-01-16
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d .git; then                                \
+         $(top_srcdir)/build-aux/gitlog-to-changelog                   \
+           --no-cluster                                                \
+           --amend=$(srcdir)/build-aux/git-log-fix                     \
+           --since=$(gen_start_date) > $(distdir)/cl-t;                \
+         rm -f $(distdir)/ChangeLog;                                   \
+         mv $(distdir)/cl-t $(distdir)/ChangeLog;                      \
+       fi
diff --git a/bootstrap.conf b/bootstrap.conf
index 84f1d48..e47b550 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -19,7 +19,8 @@
 gnulib_modules='
   announce-gen argmatch assert calloc-posix close config-h c-strcase
   configmake dirname error extensions fdl fopen-safer gendocs getopt-gnu
-  gettext git-version-gen gpl-3.0 hash inttypes isnan javacomp-script
+  gettext git-version-gen gitlog-to-changelog
+  gpl-3.0 hash inttypes isnan javacomp-script
   javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr
   mbswidth obstack perror pipe-posix quote quotearg realloc-posix
   spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
@@ -66,6 +67,9 @@ bootstrap_post_import_hook()
 {
   # Massage lib/gnulib.mk before using it later in the bootstrapping process.
   etc/prefix-gnulib-mk lib/$gnulib_mk
+
+  # Ensure that ChangeLog exists, for automake.
+  test -f ChangeLog || touch ChangeLog
 }

 bootstrap_epilogue()
diff --git a/build-aux/.gitignore b/build-aux/.gitignore
index 1b199b4..3a663bf 100644
--- a/build-aux/.gitignore
+++ b/build-aux/.gitignore
@@ -1,4 +1,3 @@
-
 /announce-gen
 /arg-nonnull.h
 /c++defs.h
@@ -9,6 +8,7 @@
 /depcomp
 /gendocs.sh
 /git-version-gen
+/gitlog-to-changelog
 /install-sh
 /javacomp.sh.in
 /javaexec.sh.in
@@ -21,4 +21,3 @@
 /vc-list-files
 /warn-on-use.h
 /ylwrap
-
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
new file mode 100644
index 0000000..af702fe
--- /dev/null
+++ b/build-aux/git-log-fix
@@ -0,0 +1,3 @@
+# This file is expected to be used via gitlog-to-changelog's --amend=FILE
+# option.  It specifies what changes to make to each given SHA1's commit
+# log and metadata, using Perl-eval'able expressions.
--
1.7.9.rc1.2.gccfe4



reply via email to

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