autoconf-archive-maintainers
[Top][All Lists]
Advanced

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

Re: Automatic set-serial?


From: Reuben Thomas
Subject: Re: Automatic set-serial?
Date: Sun, 19 Dec 2010 13:47:02 +0000

On 19 December 2010 13:36, Peter Simons <address@hidden> wrote:
> Hi Reuben,
>
>  > A SET_SERIAL_PATH environment variable to set-serial.sh which, if
>  > set, causes files of the form $SET_SERIAL_PATH/`basename $i` to be
>  > read instead of $i. (And of course, $i is written to.)
>  >
>  > Any problems with this, or a better way?
>
> I wonder whether the 'dist' hook is the best place to run set-serial.sh to
> begin with. It feels like that stage is too late in the process. If we run
> set-serial.sh in 'dist', then we ensure that #serial numbers are accurate in
> release tarballs. What we'd really like to ensure, however, is that every
> macro's #serial number is accurate in the Git repository.

That is better; I was just trying to implement the TODO as it stood.

> The disadvantage of relying on the commit hook is that administrators must
> remember to activate that hook in their local check-outs before committing.

Which means that it would still have to be run somewhere else, so why
not run it periodically somewhere else and commit the result, from a
sort of robo-repository? That would introduce commits which purely
bumped serial numbers, and, occasionally, merge problems for
developers. It would also mean that working from a git checkout one
wouldn't necessarily have the right numbers (but compared to adding
them in make dist, at least one would have them).

> A different approach would be to modify the build process, i.e. the
> 'maintainer-all' target. As of now, that target already ensures consistent
> formatting of the macros. It could just as well guarantee accurate #serial
> numbers, but to do that we would have to extend the Python code in macro.py.

That sounds like a more consistent approach from a structural point of
view. One question is "what happens if it's not run"?

How about adding set-serial to the maintainer-all target, and then
running a pre-receive hook on the master repository which runs the
same code and checks that nothing changes as a result; if it does, it
can raise an error telling the developer to make maintainer-all.

-- 
http://rrt.sc3d.org



reply via email to

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