[Resent from the correct address].
As d...@chromium.org said, this is mostly working with git as usual. However, I would recommend that you avoid forking chromium source if possible. Chrome on iOS was started as a fork of chromium and stayed like that a long time until we've been able to open-source all our code. Working in a fork was painful to say the least.
If you cannot land the code directly in chromium (which would be the easiest as maintenance for you), I would encourage you to instead build on top of it. Create a new repository and then use .gclient to fetch both that repository and chromium source in the same hierarchy (see below). Then use gn variable root_extra_deps to configure additional targets to build in addition to what chromium builds.
Let say you have your addition in src/my_addition_on_top_of_chromium, then create a new git repository on one of your server, push all the history of src/my_addition_on_top_of_chromium there, and use the following .gclient:
$ cat .gclient
solutions = [
{
"name" : "src",
"deps_file" : "DEPS",
"managed" : False,
"custom_deps" : {},
"safesync_url": "",
},
{
"name" : "src/my_addition_on_top_of_chromium",
"url" : "git://my.private.server/my_addition_on_top_of_chromium",
"deps_file" : "DEPS",
"managed" : False,
"custom_deps" : {},
"safesync_url": "",
},
]
$ gclient sync
This will prevent you from making forks of individual files in chromium, so this gives you less power, but this will reduce the pain of keeping up-to-date with chromium pace.
-- Sylvain