[libvirt] [PATCH 0/3] maint: Drop ChangeLog*

Rationale in the respective commit messages. Patch 2/3 has been snipped quite extensively so that it would make it to the mailing list: the unabridged version of this series can be fetched from https://github.com/andreabolognani/libvirt/tree/changelog Andrea Bolognani (3): maint: Stop generating ChangeLog from git maint: Drop ChangeLog-old maint: Update references to ChangeLog* .gitignore | 1 - ChangeLog | 15 + ChangeLog-old | 16699 ------------------------------------------ Makefile.am | 15 +- bootstrap.conf | 4 +- cfg.mk | 2 +- docs/news-ascii.xsl | 3 +- 7 files changed, 21 insertions(+), 16718 deletions(-) create mode 100644 ChangeLog delete mode 100644 ChangeLog-old -- 2.20.1

Our ChangeLog is generated by basically redirecting the output of 'git log' into it so, as can be expected, it has only gotten bigger as development has progressed. As of today, its size has reached pretty much comical levels: $ du -sk ChangeLog 11328 ChangeLog All of that for information *literally nobody* cares about: end users and distro maintainers have proper release notes lovingly compiled for them, while developers peruse the history either by calling 'git log' directly or through their favorite $EDITOR's git integration. Replacing the generated ChangeLog with a short message pointing interested parties to the git repository does not only reduce the size of the unpacked sources from 259904 KiB to 248576 KiB (~4% saving): from a quick test on my laptop, doing so reduces the size of the *compressed* release archive from 15140 KiB to 12364 KiB (~18% saving) and also takes the time needed to run 'make distcheck' down from 4:44 to 4:21 (~8% saving). Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .gitignore | 1 - ChangeLog | 15 +++++++++++++++ Makefile.am | 14 +------------- bootstrap.conf | 4 ++-- cfg.mk | 2 +- 5 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 ChangeLog diff --git a/.gitignore b/.gitignore index 3223cf1b76..c918ec8226 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ .sc-start-sc_* .ycm_extra_conf.py /AUTHORS -/ChangeLog /GNUmakefile /INSTALL /NEWS diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..55eb05c5ce --- /dev/null +++ b/ChangeLog @@ -0,0 +1,15 @@ +libvirt ChangeLog +================= + +The libvirt project doesn't include a detailed ChangeLog in its release +archives. + +If you're interested in the full list of changes made to libvirt since +the project was started, you can clone the git repository from + + https://libvirt.org/git/libvirt.git + +and browse them locally using your favorite git history viewer or, +alternatively, browse them online at + + https://libvirt.org/git/?p=libvirt.git;a=log diff --git a/Makefile.am b/Makefile.am index 3c06e2619a..ebfcbec07a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,19 +79,7 @@ check-access: MAINTAINERCLEANFILES = .git-module-status -dist-hook: gen-ChangeLog gen-AUTHORS - -# Generate the ChangeLog file (with all entries since the switch to git) -# and insert it into the directory we're about to use to create a tarball. -gen_start_date = 2009-07-04 -.PHONY: gen-ChangeLog -gen-ChangeLog: - $(AM_V_GEN)if test -d .git; then \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ - --since=$(gen_start_date) > $(distdir)/cl-t; \ - rm -f $(distdir)/ChangeLog; \ - mv $(distdir)/cl-t $(distdir)/ChangeLog; \ - fi +dist-hook: gen-AUTHORS .PHONY: gen-AUTHORS gen-AUTHORS: diff --git a/bootstrap.conf b/bootstrap.conf index c2194df80b..b63acffcdb 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -176,8 +176,8 @@ xmllint - xsltproc - " -# Automake requires that ChangeLog and AUTHORS exist. -touch AUTHORS ChangeLog || exit 1 +# Automake requires that AUTHORS exist. +touch AUTHORS || exit 1 # Override bootstrap's list - we don't use mdate-sh or texinfo.tex. gnulib_extra_files=" diff --git a/cfg.mk b/cfg.mk index a62d4db13b..8594f64482 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1113,7 +1113,7 @@ maint.mk Makefile: _autogen_error # though, as it would be quite pointless ifeq (2,$(_dry_run_result)$(_clean_requested)) $(info INFO: running autogen.sh is required, running it now...) - $(shell touch $(srcdir)/AUTHORS $(srcdir)/ChangeLog) + $(shell touch $(srcdir)/AUTHORS) maint.mk Makefile: _autogen endif endif -- 2.20.1

On Mon, Apr 01, 2019 at 06:50:51PM +0200, Andrea Bolognani wrote:
Our ChangeLog is generated by basically redirecting the output of 'git log' into it so, as can be expected, it has only gotten bigger as development has progressed. As of today, its size has reached pretty much comical levels:
$ du -sk ChangeLog 11328 ChangeLog
All of that for information *literally nobody* cares about: end users and distro maintainers have proper release notes lovingly compiled for them, while developers peruse the history either by calling 'git log' directly or through their favorite $EDITOR's git integration.
Replacing the generated ChangeLog with a short message pointing interested parties to the git repository does not only reduce the size of the unpacked sources from 259904 KiB to 248576 KiB (~4% saving): from a quick test on my laptop, doing so reduces the size of the *compressed* release archive from 15140 KiB to 12364 KiB (~18% saving) and also takes the time needed to run 'make distcheck' down from 4:44 to 4:21 (~8% saving).
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .gitignore | 1 - ChangeLog | 15 +++++++++++++++ Makefile.am | 14 +------------- bootstrap.conf | 4 ++-- cfg.mk | 2 +- 5 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 ChangeLog
diff --git a/.gitignore b/.gitignore index 3223cf1b76..c918ec8226 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ .sc-start-sc_* .ycm_extra_conf.py /AUTHORS -/ChangeLog /GNUmakefile /INSTALL /NEWS diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..55eb05c5ce --- /dev/null +++ b/ChangeLog @@ -0,0 +1,15 @@ +libvirt ChangeLog +================= + +The libvirt project doesn't include a detailed ChangeLog in its release +archives. +
This says we don't have a proper changelog
+If you're interested in the full list of changes made to libvirt since +the project was started, you can clone the git repository from + + https://libvirt.org/git/libvirt.git + +and browse them locally using your favorite git history viewer or, +alternatively, browse them online at + + https://libvirt.org/git/?p=libvirt.git;a=log
And this points the developer to the libvirt.git, which is already linked in README-hacking I'd rather drop the ChangeLog file completely Jano
diff --git a/Makefile.am b/Makefile.am index 3c06e2619a..ebfcbec07a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,19 +79,7 @@ check-access:
MAINTAINERCLEANFILES = .git-module-status
-dist-hook: gen-ChangeLog gen-AUTHORS - -# Generate the ChangeLog file (with all entries since the switch to git) -# and insert it into the directory we're about to use to create a tarball. -gen_start_date = 2009-07-04 -.PHONY: gen-ChangeLog -gen-ChangeLog: - $(AM_V_GEN)if test -d .git; then \ - $(top_srcdir)/build-aux/gitlog-to-changelog \ - --since=$(gen_start_date) > $(distdir)/cl-t; \ - rm -f $(distdir)/ChangeLog; \ - mv $(distdir)/cl-t $(distdir)/ChangeLog; \ - fi +dist-hook: gen-AUTHORS
.PHONY: gen-AUTHORS gen-AUTHORS: diff --git a/bootstrap.conf b/bootstrap.conf index c2194df80b..b63acffcdb 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -176,8 +176,8 @@ xmllint - xsltproc - "
-# Automake requires that ChangeLog and AUTHORS exist. -touch AUTHORS ChangeLog || exit 1 +# Automake requires that AUTHORS exist. +touch AUTHORS || exit 1
# Override bootstrap's list - we don't use mdate-sh or texinfo.tex. gnulib_extra_files=" diff --git a/cfg.mk b/cfg.mk index a62d4db13b..8594f64482 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1113,7 +1113,7 @@ maint.mk Makefile: _autogen_error # though, as it would be quite pointless ifeq (2,$(_dry_run_result)$(_clean_requested)) $(info INFO: running autogen.sh is required, running it now...) - $(shell touch $(srcdir)/AUTHORS $(srcdir)/ChangeLog) + $(shell touch $(srcdir)/AUTHORS) maint.mk Makefile: _autogen endif endif -- 2.20.1
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Tue, 2019-04-02 at 12:43 +0200, Ján Tomko wrote:
On Mon, Apr 01, 2019 at 06:50:51PM +0200, Andrea Bolognani wrote:
+If you're interested in the full list of changes made to libvirt since +the project was started, you can clone the git repository from + + https://libvirt.org/git/libvirt.git + +and browse them locally using your favorite git history viewer or, +alternatively, browse them online at + + https://libvirt.org/git/?p=libvirt.git;a=log
And this points the developer to the libvirt.git, which is already linked in README-hacking
I didn't consider the mention in README-hacking, though I'd say this is slightly different because 1) it also points to the Web-browsable version of the git log and 2) people looking for the ChangeLog will probably not go poking at README-hacking of all places.
I'd rather drop the ChangeLog file completely
I personally don't have a problem with the idea, but I seem to recall a ChangeLog being required by the GNU coding standard, which we are at least formally following; I expect moving away from it to be an at least somewhat controversial change... So perhaps we could get rid of the 12+ MiB of garbage right now, and then suggest dropping these remaining dozen lines as a follow up? :) -- Andrea Bolognani / Red Hat / Virtualization

On Tue, Apr 02, 2019 at 01:24:37PM +0200, Andrea Bolognani wrote:
On Tue, 2019-04-02 at 12:43 +0200, Ján Tomko wrote:
On Mon, Apr 01, 2019 at 06:50:51PM +0200, Andrea Bolognani wrote:
+If you're interested in the full list of changes made to libvirt since +the project was started, you can clone the git repository from + + https://libvirt.org/git/libvirt.git + +and browse them locally using your favorite git history viewer or, +alternatively, browse them online at + + https://libvirt.org/git/?p=libvirt.git;a=log
And this points the developer to the libvirt.git, which is already linked in README-hacking
I didn't consider the mention in README-hacking, though I'd say this is slightly different because 1) it also points to the Web-browsable version of the git log and 2) people looking for the ChangeLog will probably not go poking at README-hacking of all places.
I'd rather drop the ChangeLog file completely
I personally don't have a problem with the idea, but I seem to recall a ChangeLog being required by the GNU coding standard, which we are at least formally following; I expect moving away from it to be an at least somewhat controversial change...
Okay, let's look into that later.
So perhaps we could get rid of the 12+ MiB of garbage right now, and then suggest dropping these remaining dozen lines as a follow up? :)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Tue, Apr 02, 2019 at 12:43:33PM +0200, Ján Tomko wrote:
On Mon, Apr 01, 2019 at 06:50:51PM +0200, Andrea Bolognani wrote:
Our ChangeLog is generated by basically redirecting the output of 'git log' into it so, as can be expected, it has only gotten bigger as development has progressed. As of today, its size has reached pretty much comical levels:
$ du -sk ChangeLog 11328 ChangeLog
All of that for information *literally nobody* cares about: end users and distro maintainers have proper release notes lovingly compiled for them, while developers peruse the history either by calling 'git log' directly or through their favorite $EDITOR's git integration.
Replacing the generated ChangeLog with a short message pointing interested parties to the git repository does not only reduce the size of the unpacked sources from 259904 KiB to 248576 KiB (~4% saving): from a quick test on my laptop, doing so reduces the size of the *compressed* release archive from 15140 KiB to 12364 KiB (~18% saving) and also takes the time needed to run 'make distcheck' down from 4:44 to 4:21 (~8% saving).
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .gitignore | 1 - ChangeLog | 15 +++++++++++++++ Makefile.am | 14 +------------- bootstrap.conf | 4 ++-- cfg.mk | 2 +- 5 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 ChangeLog
diff --git a/.gitignore b/.gitignore index 3223cf1b76..c918ec8226 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ .sc-start-sc_* .ycm_extra_conf.py /AUTHORS -/ChangeLog /GNUmakefile /INSTALL /NEWS diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..55eb05c5ce --- /dev/null +++ b/ChangeLog @@ -0,0 +1,15 @@ +libvirt ChangeLog +================= + +The libvirt project doesn't include a detailed ChangeLog in its release +archives. +
This says we don't have a proper changelog
+If you're interested in the full list of changes made to libvirt since +the project was started, you can clone the git repository from + + https://libvirt.org/git/libvirt.git + +and browse them locally using your favorite git history viewer or, +alternatively, browse them online at + + https://libvirt.org/git/?p=libvirt.git;a=log
And this points the developer to the libvirt.git, which is already linked in README-hacking
I'd rather drop the ChangeLog file completely
autotools requires that it exists and I think having this general text is better than shipping a zero length file. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

This file contains the old schoold ChangeLog, which was manually updated for every set of changes before the switch to git. When libvirt was imported into git, however, *all* history was preserved, including the changes documented in this file, and can still be inspected using 'git log' just like more recent changes: the format might be slightly different, but that's not quite reason enough to treat this file any differently than the git-generated ChangeLog we just dropped. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ChangeLog-old | 16699 ------------------------------------------------ Makefile.am | 1 - 2 files changed, 16700 deletions(-) delete mode 100644 ChangeLog-old diff --git a/ChangeLog-old b/ChangeLog-old deleted file mode 100644 index e38a9bd746..0000000000 --- a/ChangeLog-old +++ /dev/null @@ -1,16699 +0,0 @@ -Mon Jul 6 14:26:02 CEST 2009 Daniel Veillard <veillard@redhat.com> - - * docs/downloads.html docs/downloads.html.in: update download - informations after switch to git - -Fri Jul 3 16:21:48 CEST 2009 Daniel Veillard <veillard@redhat.com> - - * configure.in libvirt.spec.in NEWS docs/* po/*: release of - libvirt-0.6.5 - * .gitignore: adding cscope files [... this goes on for quite a while ...] diff --git a/Makefile.am b/Makefile.am index ebfcbec07a..365b0b3b94 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,7 +29,6 @@ ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ config-post.h \ - ChangeLog-old \ libvirt.spec libvirt.spec.in \ mingw-libvirt.spec.in \ libvirt.pc.in \ -- 2.20.1

On Mon, Apr 01, 2019 at 06:50:52PM +0200, Andrea Bolognani wrote:
This file contains the old schoold ChangeLog, which was manually
old school? old schooled?
updated for every set of changes before the switch to git.
When libvirt was imported into git, however, *all* history was preserved, including the changes documented in this file, and can still be inspected using 'git log' just like more recent changes: the format might be slightly different, but that's not quite reason enough to treat this file any differently than the git-generated ChangeLog we just dropped.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- ChangeLog-old | 16699 ------------------------------------------------ Makefile.am | 1 - 2 files changed, 16700 deletions(-) delete mode 100644 ChangeLog-old
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The files no longer exist, at least not in their previous form, so references to them need to be reworked to still make sense. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/news-ascii.xsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/news-ascii.xsl b/docs/news-ascii.xsl index 637c432d67..8dacae934c 100644 --- a/docs/news-ascii.xsl +++ b/docs/news-ascii.xsl @@ -15,7 +15,8 @@ <xsl:text> ============================================================================== Older libvirt releases didn't have proper release notes: if you are interested -in changes between them, you should check out ChangeLog* and docs/news-*.html. +in changes between them, you should check out docs/news-*.html or the full git +log (see instructions in ChangeLog). </xsl:text> </xsl:template> -- 2.20.1

On Mon, Apr 01, 2019 at 06:50:53PM +0200, Andrea Bolognani wrote:
The files no longer exist, at least not in their previous form, so references to them need to be reworked to still make sense.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/news-ascii.xsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On 4/1/19 12:50 PM, Andrea Bolognani wrote:
Rationale in the respective commit messages.
Patch 2/3 has been snipped quite extensively so that it would make it to the mailing list: the unabridged version of this series can be fetched from
https://github.com/andreabolognani/libvirt/tree/changelog
Andrea Bolognani (3): maint: Stop generating ChangeLog from git maint: Drop ChangeLog-old maint: Update references to ChangeLog*
.gitignore | 1 - ChangeLog | 15 + ChangeLog-old | 16699 ------------------------------------------ Makefile.am | 15 +- bootstrap.conf | 4 +- cfg.mk | 2 +- docs/news-ascii.xsl | 3 +- 7 files changed, 21 insertions(+), 16718 deletions(-) create mode 100644 ChangeLog delete mode 100644 ChangeLog-old
I haven't looked at the specifics but I'm very much in favor of dropping all of this - Cole

On Mon, Apr 01, 2019 at 06:50:50PM +0200, Andrea Bolognani wrote:
Rationale in the respective commit messages.
Patch 2/3 has been snipped quite extensively so that it would make it to the mailing list: the unabridged version of this series can be fetched from
$ git fetch https://github.com/andreabolognani/libvirt/tree/changelog fatal: repository 'https://github.com/andreabolognani/libvirt/tree/changelog/' not found Jano
Andrea Bolognani (3): maint: Stop generating ChangeLog from git maint: Drop ChangeLog-old maint: Update references to ChangeLog*
.gitignore | 1 - ChangeLog | 15 + ChangeLog-old | 16699 ------------------------------------------ Makefile.am | 15 +- bootstrap.conf | 4 +- cfg.mk | 2 +- docs/news-ascii.xsl | 3 +- 7 files changed, 21 insertions(+), 16718 deletions(-) create mode 100644 ChangeLog delete mode 100644 ChangeLog-old
-- 2.20.1
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Tue, 2019-04-02 at 12:38 +0200, Ján Tomko wrote:
On Mon, Apr 01, 2019 at 06:50:50PM +0200, Andrea Bolognani wrote:
Patch 2/3 has been snipped quite extensively so that it would make it to the mailing list: the unabridged version of this series can be fetched from
$ git fetch https://github.com/andreabolognani/libvirt/tree/changelog fatal: repository 'https://github.com/andreabolognani/libvirt/tree/changelog/' not found
Sorry, the fetch URL is https://github.com/andreabolognani/libvirt changelog -- Andrea Bolognani / Red Hat / Virtualization
participants (4)
-
Andrea Bolognani
-
Cole Robinson
-
Daniel P. Berrangé
-
Ján Tomko