On Feb 15, 2007, at 9:45 PM, Alp Toker wrote:

Maciej Stachowiak wrote:
By setting up a associated repository this work would be accessible to all interested parties and once stable it could be integrated into the
main repository.
This is an example of the kind of project that would be better done on a branch than in a separate repository (if it were desirable at all).

I have to disagree here. git-svn is really the only tool in its class for working on branches of large svn projects. I haven't spent as much time as Mike hacking on the Gdk WebKit port, but the distributed and transparent form of git repositories does in my experience almost eliminate the pain of merging upstream changes, maintaining history and most importantly providing atomic patches that are suitable for inclusion back into the original repository.

I don't understand how git-svn can possibly be better than a branch in the same SVN repository. What does it do that being in the same repository doesn't? Note that Subversion has really good support for merging between branches.

The WebKit project would do well to formalise this pattern. It would benefit not only the ports, but also help reduce the barrier for bugfixes to find their way back into the project rather than getting left by the wayside in an svn branch or bug report.

It seems to me that encouraging lots of separate repositories is effectively encouraging lots of quasi-permanent forks of the project.

One of the reasons we are encouraging many projects and organizations to adopt WebKit is so that, together, we can have a greater market share than any of us could individually. This way, web developers have to pay attention to our engine when designing their sites. But if WebKit is split into dozens of separate fragmented ports, each will end up with a whole separate set of bugs and fixes. If making a site work in one WebKit-based product doesn't fix it for all of them, then web developers will remain unimpressed by our combined market share.

This is the reason we are trying to push for more unification rather than more fragmentation. We vastly improved WebKit's portability architecture over the past year and a half in part so that other ports could live cleanly in our tree side-by-side. We have given Nokia their own branch in the repository to do with as they please and are encouraging them to update to the current tip of tree. We've helped Troll Tech integrate the Qt port and are continuing to assist them with doing porting work directly on our trunk. And in general we try to be supportive of any reasonable changes.

Another thing worth noting is that WebKit development moves at an incredibly fast pace. We have hundreds of checkins a week and often make very large structural changes for performance and code understandability. Trying to track these from a separate repository ends up imposing huge merging costs to try to keep up. Or you diverge so far that catching up becomes almost impossible.

Overall, I think it is far healthier for the project to strive for greater unification than to fragment in many directions. We cannot stop anyone from setting up their own private or public repository if they choose to. But we strongly encourage others to at least try working in the webkit.org repository before going their own way.

Regards,
Maciej


_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to