[Top][All Lists]
[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
- [PATCH] maint: generate ChangeLog from git log,
Jim Meyering <=