On Tuesday, May 08, 2007 10:18:59 AM +0200 Hartmut Reuter <[EMAIL PROTECTED]> wrote:

Of course, you are right that this change will not go into 1.4.x, but to
have a stable reference and a base which can immediately be used in
production I always put my changes into the current stable release.

Sure; there's nothing wrong with that.


Of course the changes are large. If the gate-keepers prefer I could
create a version based on another CVS branch. But it takes a while (it's
a manual port, anyway) and I must be sure this branch doesn't change too
much in the meantime.

Which one would you suggest?

Well, I'm not a gatekeeper, so suggesting is about all I can do. I would start by picking a specifc version, either a 1.5.x release or one of the daily CVS snapshots, and making all of your changes relative to that. If this is going to appear in 1.5.x, then it doesn't much matter whether you port to 1.5 or to the head, because it will have to be committed in both places eventually, so someone will have to do the conversion.

I guess the choice depends on how things are going to proceed from here. If you want to get other people running this, or you want to be able to run it yourself and upgrade OpenAFS without a major porting effort each time, then I'd suggest distributing patches based on 1.5.x for a while, and not worrying about porting to the head until it is ready to be committed. There are often significant changes between successive 1.5.x releases, but I think that work going on now (that I know about) is unlikely to produce serious conflicts with your code, so porting from one 1.5.x to the next should not be too hard. Of course, the 1.5 branch also has the advantage that it can actually be expected to compile and run most of the time, which is not always true of the trunk.

On the other hand, if your main goal is getting the patches into the CVS tree in some form, even if it takes quite a while before they appear in a release, then you're better off porting to the CVS trunk. It's relatively easy to get the gatekeepers to commit things there, even with minimal review and even if they're clearly not ready for inclusion in a release branch. That's because OpenAFS releases are never done from the trunk, and our practices don't require it to be stable or even compile -- it's all about getting the code where people can look at it.


BTW, I would suggest when you prepare patches that you split them into multipe pieces where appropriate. For example, you might have one patch that adds support for your extensions to the fileserver, and another to the cache manager. Similarly, if you have multiple features that are logically separate, they should be in separate patches. Smaller patches are easier to understand and review.

In a similar vein, new or modified code should be consistent with the existing style. Avoid making changes in formatting or whitespace to existing code that you are not modifying; for example, don't reindent entire source files -- that makes the patches large and the changes difficult to identify. If you do make large formatting or style changes, do it in a separate patch which makes _no_ substantive changes. (BTW, note that I haven't looked at your code yet, and much of this is general advice not aimed specifically at you).


In general, submitting patches to OpenAFS is not the way to modify the
AFS wire protocol.  Instead, protocol changes should first be brought up
on the afs3-standardization mailing list, which is the official forum
for discussing changes to the AFS protocols.  Again, it is best to bring
up proposed changes before getting too far with the implementation, to
limit the amount of wasted effort if the mailing list has objections or
suggestions for improvement.

That was the reason why I came to the Hackathon last year to inform the
AFS developers early about our project.


Sure; that was definitely a good idea, and hopefully it was helpful to you. That advice was intended largely for anyone else who might be thinking about working on AFS. The idea is that if there had been something controversial about your approach, or a major issue you were overlooking, you would have found out about it early instead of after wasting months of effort.

Anyway, I look forward to reviewing your stuff, just as soon as I dig myself out from under this giant pile of work. :-(

-- Jeff
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to