Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Merging strategy for extending Git.pm

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:40

Lea Wiemann [off-list ref] writes:
1. I'm working full-time on this, so I might produce patches that
loosely depend on one another at a peak rate of 2-3 per day.  (I can
do other project-related stuff while my patches are waiting for
review, but only so much of course.)  Do you have any experience with
working with full-time developers on Git?  Do you see problems with my
potentially high patch frequency?
As long as experienced people on the list review patches, I do not see a
problem.

    There seems to be a misconception (not you particularly but some parts
    of the list audience in general) that a review cycle of a patch sent
    to the list is a dialog between the submitter and me.  It is _NOT_.
    If it has rooms for improvements, other people would help you polish
    it, which happens often.  However, if it is very well done, I'd also
    like other people to say so after reviewing more often.
2. I'll be changing my own API.  In other words, the API is really
unstable while I work on this (with the only user of the API being
Gitweb, which I'll update as I go).  Is that OK for the pu branch?
It does not _have_ to even land on 'pu'.  Sending the patches to the list,
asking interesting parties to look at them, _and_ having people actually
review them is more valuable part.

If your series will become big, I do not mind (re)merging it from time to
time in 'pu' to give it a wider exposure.  If you want to go this route,
you would have a publicly fetchable repository of your own to house your
changes (repo.or.cz?).

I do not even mind merging the branch to 'next' if the series is 'next'
worthy, but that places heavier responsibility on your part to keep the
history of that branch clean.
3. I try to be careful with my commits, but it might still cause more
work for whoever reviews my patches, compared to reviewing larger
chunks.  (That's because some of the stuff I write might end up being
deleted or rewritten later.)
One thing you could do, when sending out [PATCH v$n] for the value of $n
greater than 1, is to mention what the improvements are since the previous
round in the message (typically after the three-dash separator).  This
helps reviewers who have already seen your previous iteration.  The full
rationale of the change needs to be kept in the proposed commit log
message.

For example, your first patch may look like this:

	Subject: [PATCH] Git.pm: Add rev_parse() sub

	This adds a rev_parse() sub to return the 40-byte object name
        from given "extended SHA-1" expression.

	Signed-off-by: A U Thor [off-list ref]
	---
         <<diffstat and patch>>


Then after Pasky and others suggest improvements, your second message will
appear on the list:

	Subject: [PATCH v2] Git.pm: Add parse_rev()

	This adds 'parse_rev()' sub to return the 40-byte object name from
        given "extended SHA-1" expression.  It returns undef if the given
        string is malformed.

	Signed-off-by: A U Thor [off-list ref]
	---

         Changes relative to v1 are:
         
         * Fixed indentation;
         * Use -q to squelch non-fatal errors so that they do not leak
           to the STDERR;
         * Improved in-code documentation.

	 <<diffstat and patch>>

Some people also sends an interdiff between v$n-1 and v$n as a separate
message, and it helps reviewing when the change is big.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help