This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: src.git test repository
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: Binutils Development <binutils at sourceware dot org>, GDB Development <gdb at sourceware dot org>
- Date: Thu, 10 Oct 2013 09:13:14 +0400
- Subject: Re: src.git test repository
- Authentication-results: sourceware.org; auth=none
- References: <87y565m7ma dot fsf at fleche dot redhat dot com> <87r4bu9mw3 dot fsf at fleche dot redhat dot com>
> One note here is that I am still considering a hook to reject merge
> commits.
>
> The rationale for this is that merge commits are ugly, and that it isn't
> a big deal to require a rebase before a merge, so that any merge is a
> fast-forward.
This has my support. We've found at AdaCore that unexperienced users
will often create merges unintentionally, and then push them without
even ever noticing it. The typical case is forgetting to add --rebase
in their "git pull" when they want to push a commit and find that
their repo is out of date.
There will be issues with special-feature development branches, however.
Let's say, for instance, that people want to collaborate on a certain
feature, and use a branch for its development. If development takes
a while, they might want to do regular merges from HEAD... We can adjust
the rule to say that merges are verbotten except on branches whose name
is prefixed by Eg. "topic/".
> I've done various test commits and pushes and I think these scripts are
> working adequately well.
Agreed.
For future enhancements open for consideration (and I may actually take
care of those myself), my only regrets are:
- we seem to be getting one email per push, instead of one email
per commit?
- If we received one email per commit, we could put the subject
of the commit as the subject of the email
Something that should also be reasonably easy to implement:
- Style check the revision log to forbid commits if the second
line (line after subject) is not empty. I have found that
this assumption is too ingrained everywhere in git, and that
not respecting it makes things look bad.
--
Joel