The MFC process...

Trent Nelson trent at snakebite.org
Wed Jul 18 13:38:09 UTC 2012



On 7/17/12 2:40 PM, "Warren Block" <wblock at wonkity.com> wrote:

>On Tue, 17 Jul 2012, Eitan Adler wrote:
>
>> On 17 July 2012 10:10, Warren Block <wblock at wonkity.com> wrote:
>
>>> Unless there was no PR.  Which brings up the question of how can we
>>>query
>>> for MFCs now?  For example, how many MFCs are past due?  What is the
>>>oldest
>>> one?
>>
>> svn mergeinfo --show-revs eligible
>
>But those are just commits that svn sees as eligible for a merge, not
>ones with an actual "MFC after" message.

Those two concepts should be considered synonymous :-)

>From a fitting-svn-best-practices-to-freebsd-development-style
perspective, this is what developers should be doing:

1. If a change is eligible for MFC, obviously indicate that in the log
message as usual.  So, no change from how development is done now.

2. If a change is not eligible for MFC, or should never be merged back to
stable for whatever reason, it should be blocked in such a way that svn
will know never to suggest merging it.

This would be done as follows:

% cd /src/head
[make change]
% svn ci -m "..."
Committed revision r890101
% cd /src/stable/9
% svn st
[ should return nothing -- I.e. no local mods ]
% svn merge --record-only -c890101 https://svn.freebsd.org/base/head .
...
% svn ci -m "Blocking r890101." .

If this approach is adopted by all developers -- `svn mergeinfo
--show-revs eligible` will always do exactly what you want: show revisions
eligible for MFC that have not yet been merged.

You can run this command at any level, too.  I did it at sys/dev/isp,
because that's all I cared about, but you can go as deep or as shallow
within the tree as you like.

It would also be trivial to whip up a script that runs it at the top
level, then for each rev, filter it based on committer.  That would
achieve Eitan's desired goal of "tell me all my outstanding head/ commits
I need to MFC".

Regards,

	Trent.




More information about the freebsd-stable mailing list