[webkit-dev] Idea for comments: Using Git to manage some WebKit platform ports

David Kilzer ddkilzer at webkit.org
Fri Apr 11 09:38:39 PDT 2008


Hi Ryan,

I think this is a great way to manage a nascent port, and I'm glad your
committed to passing platform-agnostic fixes back to the main repository!

One thing I'd like to see is the WebKit wiki updated to list your port (on its
own page), along with basic information about how to access your public
repository.  Actually, if a developer has their own git (or other distributed
SCM) repository, it would be helpful to list them on the wiki as well!

http://trac.webkit.org/projects/webkit/wiki/

In the mid- to long-term, though, you may want to revisit this decision.  I
realize that there is more build breakage for some ports than others.  I'd like
to hear comments from current port maintainers on why that is.  (I think a lot
of it may be due to code refactoring or new features being added, but I think
that's generally a good thing.)

Note that once a given port has a committer, they are free to commit build
fixes with little to no review.  Also, if the port maintainer(s) set up and
maintain their own buildbot server, then project committers know when they've
broken the build and can try to fix it on their own.  (This is especially
beneficial when a large rename commit occurs.)  It's also beneficial to port
the DumpRenderTree test harness so that the port's buildbot may report
regressions.

Finally, I'd add that having more ports in the main repository will cause the
overall design and structure of the code to improve.  Apple was forced to
create platform abstractions when they did the Windows port, and the WxWindows,
Qt, Gtk and non-Apple-Windows ports (among others) have allowed those
abstractions to grow and evolve.  If all of those ports lived purely in
external repositories, the platform abstractions wouldn't be as good, and the
port maintainers would have more work to do and potentially have ugly hacks in
their repositories to get around such limitations.

In summary, I think it's great to use git for starting a new port, but in the
mid- to long-term, I think you'll be better off if there is a bi-directional
movement of code between the main svn repository and your port's git
repository.  This is basically how Linux kernel development works as
well--anyone is free to check out Joe User's git repository, but the overall
health of the project benefits when code flows both ways.

Dave


Ryan Leavengood <leavengood at gmail.com> wrote:

> Hello all,
> 
> I have recently begun to use Git in earnest and after reading various
> things and starting to understand how it works I had an idea: I could
> manage my Haiku WebKit port using Git without ever having my code in
> the "real" WebKit SVN repo. The basic idea would be I would clone the
> current WebKit Git repo, create a branch for my Haiku port, and then
> publish that branch for other Haiku developers to use. This branch
> would never go back into the main WebKit repo. Why would I want to do
> this? Here is what I am thinking:
> 
> - The main WebKit repo would have one less bit of platform code that
> everyone else has to download, even though only a tiny percentage
> would care to use it (as much as I like Haiku at this point it is a
> very small platform.)
> - It would be almost impossible for other people in the WebKit
> community to break the Haiku WebKit build since I (or other Haiku
> developers) would control pulling new changes from the main repo and
> could ensure we fixed problems before publishing those changes to our
> repo.
> - It alleviates other WebKit maintainers from having to be concerned
> about breaking such a tiny port like ours because of the above point.
> - I could freely change my platform code without having to go through
> the strict WebKit review and submit process (which is good in general
> but maybe too heavyweight for my small port.)
> 
> I might also suggest that other smaller ports (*cough* Robert,
> *cough*, AROS) could use this too, but obviously that is up to them.
> 
> The WebKit site can provide links to these platform specific Git repos
> so people can make use of them if they wish.
> 
> I would be curious what the WebKit community thinks about this idea. I
> know the Qt people have been doing this already to some extent with
> their Git repo and I recall this being perceived badly by some. One
> point I would like to make is I would intend to submit any purely
> WebKit-related fixes back to the main repo (which Git makes
> considerably easier than SVN.) So there would not be an issue of
> potentially "good stuff" hiding in my repo (part of what the Qt guys
> got flak for I believe.)
> 
> Regards,
> Ryan



More information about the webkit-dev mailing list