Re: nt branch KILLED

From: Henrik Nordstrom <hno@dont-contact.us>
Date: 24 Feb 2003 14:31:20 +0100

lör 2003-02-22 klockan 17.36 skrev Guido Serassio:

> I know this, but keep in mind that many branches are based on functionality
> additions, with many NEW code sections, and the merging is simpler
> The nt branch is based on many and many existent code CHANGES to address
> the Windows/Unix differences, and it's very complex to maintain.

In my opinion the bulk of the nt branch should have been merged long
ago, after suitable cleanups. But this did not happen for various
reasons.

To merge large branches such as the nt branch is not a painless effort.
It requires

  a) The branch to be split into manageable pieces which can be
explained and understood.

  b) A review process by one of the core developers to make sure the
patch to be merged looks correct given the explanation to the changes.

  c) If the review process finds obvious errors in either code or
design, these needs to be corrected for the process to continue.

For the review to be at all possible, 'a' needs to be done. The core
developers can help with 'c' on obvious errors.

To do 'a' in a large branch like the nt port is not an easy task. The
bigger the branch the more effort this requires, usually exponentially
per the number of areas touched by the patch..

For the time being it has mostly been Robert who accepts merges into the
Squid-3 HEAD, mainly because it is he who is most experienced with
refactoring Squid into C++. As the other core developers gets more used
to the C++ style of Squid this process should become more distributed.

> - After the C++ changes, the nt branch is broken on IPC
> - After the changes around 2-3 February there are again C++ problems with
> MS VisualStudio
> - I don't know C++ at all, and so i can't fix the previous problems

To get help you need to ask.

> - I'm the only developer

Which is a problem.

> - the nt branch is very big: 690 KB diff file

Which is a even bigger problem.

> - now the nt branch is totally out of sync

Which is not really such a big problem, but a hassle until sorted out by
either having the bulk of the patch merged into HEAD allowing you to
start over in a new clean branch without too much effort, or you or
another developer find time to sync the nt branch again. My preference
is absolutely for the first.

> This not true:
>
> I have posted the latest patch at 5 February: I have NEVER received ANY
> reply and it was not commited.

Rule of thumb: If you haven't seen a patch merged within a week or a
negative response telling that it cannot be merged in it's current form
then repost, with a clear indication that it is a repost..

The Squid core team mostly works on an opt-out principle. If no
objections have been to a proposed change within the review period then
it is assumed to be OK by the other core members. As members of
squid-dev you also have an option to opt-out changes when the core team
thinks the change may have negative effect for other developers using
Squid.

Occasionally changes in HEAD will break development branches, but such
large changes as the restyling is relatively rare. I do agree that it
was unfortunate that it was not clearly communicated that the styling
will cause a lot of work for all developer branches. Now we have learnt
and hopefully this will be communicated better in the event that a
similar wide change needs to be done in the future, allowing squid-dev
members to express their opinion before it is too late.

Hopefully from this point the HEAD sources will be a bit more stable,
making it more suitable to be used for developments.

To minimize the damage to your developments from the astyle I can only
repeat what I said before: For now, stop merging from HEAD and instead
concentrate fully on splitting the nt port into mergeable pieces and
send them in for review. When this is done the amount that is left in
the nt branch should be fairly trivial to resync with HEAD. If the merge
attempt has caused your branch to be in an inconsistent state then
please tell me and I will help you to recover the branch into a stable
state.

Yes merging the nt prort this will require some effort both from you and
from the Squid core members involved in the merge, but more or less the
same amount of work would be needed even without the astyle update. For
piece of mind see the event as a good reason to get the bulk of the nt
port merged into the mainline Squid rather than a catastrophic event..
(it is a catastropic event for continuing the development within the nt
branch, but not really for the process of merging the changes)

Other developers: See separate message on how to update your development
branches in a safe and least painful manner.

Regards
Henrik
Received on Mon Feb 24 2003 - 06:31:39 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:18 MST