[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] {maint} repo: don't commit generated files in the git reposi
From: |
Jim Meyering |
Subject: |
Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore |
Date: |
Fri, 09 Dec 2011 21:35:54 +0100 |
Stefano Lattarini wrote:
> I went for a middle-ground solution (sorta), by having the differences
> generated on-the-fly. This entails a decise slowdown, which is
> however absolutely bearable even on my slow desktop. See the attached
> patch.
>
> The code is a little more complicated than I'd like, but since this
> is an optional, maintainer-only hack, with no impact on the build
> system proper, that's not a big deal IMHO.
Hi Stefano,
That looks like a fine solution, though I haven't tried it yet.
> What I'm not satisfied with is the explanation of the change I've given
> in the ChangeLog entry, which seems cumbersome and confusing. But I
> haven't been able to come up with anything better so far :-(
>
> Comments and suggestions would be appreciated.
...
> Subject: [PATCH] devel: help in comparing Makefile.in from different commits
>
> Now that the generated Makefile.in, configure and aclocal.m4 files
> are no longer committed in Automake's git repository, we won't be
Try to use "anymore" less.
s/we.*"shows"/a simple "git diff" or "git log" no longer shows/
> able anymore to see with a simple "git diff" or "git log" if and
> how a change in Automake reflects in changes to the Makefile.in
s/reflects/results/
> files and/or configure script of its own build system. Still, the
> ability to peek so easily at such differences had proved itself
> quite useful in the past, often revealing inconsistencies and
> blunders, and sometimes even bugs; so it would be a pity to loose
s/loose/lose/
> that altogether.
>
> With this change, we add a new maintainer recipe that re-introduce
s/$/s/
> to a good degree such capability, by generating and comparing on
s/to a good degree such/much of that/
And all of that is duplicated in the ChangeLog file diffs below.
Are you interested in generating ChangeLog from git logs?
> the fly the Makefile.in, configure and aclocal.m4 derived from two
> arbitrary commits of the Automake repository.
>
> * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
> ---
> ChangeLog | 18 +++++++++++++++
> Makefile.am | 69
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 87 insertions(+), 0 deletions(-)
>
> diff --git a/ChangeLog b/ChangeLog
> index 5c07354..7bc6b00 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,5 +1,23 @@
> 2011-12-09 Stefano Lattarini <address@hidden>
>
> + devel: help in comparing Makefile.in from different commits
> + Now that the generated Makefile.in, configure and aclocal.m4 files
> + are no longer committed in Automake's git repository, we won't be
> + able anymore to see with a simple "git diff" or "git log" if and
> + how a change in Automake reflects in changes to the Makefile.in
> + files and/or configure script of its own build system. Still, the
> + ability to peek so easily at such differences had proved itself
> + quite useful in the past, often revealing inconsistencies and
> + blunders, and sometimes even bugs; so it would be a pity to loose
> + that altogether.
> + With this change, we add a new maintainer recipe that re-introduce
> + to a good degree such capability, by generating and comparing on
> + the fly the Makefile.in, configure and aclocal.m4 derived from two
> + arbitrary commits of the Automake repository.
> + * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
> +
> +2011-12-09 Stefano Lattarini <address@hidden>
> +
> repo: don't commit generated files in the git repository anymore
> It has been quite some time since autoconf and libtool have stopped
> committing the generated autotools files in their git repositories,
> diff --git a/Makefile.am b/Makefile.am
> index 51eeb23..4e8d13e 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -604,6 +604,75 @@ path-check: distdir
> rm -rf $(distdir); \
> exit $$estatus
>
> +## Visually comparnig differences between the Makefile.in files in the
comparing
> +## automake's own build system as generated in two different branches
> +## might help to catch bugs and blunders. This has already happened few
s/few/a few/
> +## times in the past, when we used to keep the generated Makefile.in
> +## committed into the automake's git repository.
s/the.*repository/version-control Makefile.in/
> +autodiffs:
> + @set -u; \
> + NEW_COMMIT=$${NEW_COMMIT-"HEAD"}; \
> + OLD_COMMIT=$${OLD_COMMIT-"HEAD~1"}; \
> + am_gitdir='$(abs_top_srcdir)/.git'; \
> + get_autofiles_from_rev () \
> + { \
> + rev=$$1 dir=$$2 \
> + && echo "$@: will get files from revision $$rev" \
> + && git clone -q --depth 1 "$$am_gitdir" tmp \
> + && cd tmp \
> + && git checkout -q "$$rev" \
> + && echo "$@: bootstrapping $$rev" \
> + && $(SHELL) ./bootstrap \
> + && echo "$@: copying files from $$rev" \
> + && makefile_ins=`find . -name Makefile.in` \
> + && (tar cf - configure aclocal.m4 $$makefile_ins) | \
> + (cd .. && cd "$$dir" && tar xf -) \
> + && cd .. \
> + && rm -rf tmp; \
> + }; \
> + address@hidden \
> + && git --git-dir="$$am_gitdir" describe $$OLD_COMMIT >/dev/null \
> + && git --git-dir="$$am_gitdir" describe $$NEW_COMMIT >/dev/null \
> + && rm -rf $$outdir \
> + && mkdir $$outdir \
> + && cd $$outdir \
> + && mkdir new old \
> + && get_autofiles_from_rev $$OLD_COMMIT old \
> + && get_autofiles_from_rev $$NEW_COMMIT new \
> + && exit 0
> +## With lots of eye candy; we like out developers pampered and spoiled :-)
s/out/our/
> +compare-autodiffs: autodiffs
...
- [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Ralf Corsepius, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Jim Meyering, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore,
Jim Meyering <=
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Jim Meyering, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/09
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/22
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Stefano Lattarini, 2011/12/10
- Re: [PATCH] {maint} repo: don't commit generated files in the git repository anymore, Jim Meyering, 2011/12/10